Ошибка: Обратите внимание: при попытке получить свойство не-объекта

У меня есть следующий код, который получает список данных, и я пытаюсь отфильтровать эти данные по «имени», но я получил эту ошибку:

Ошибка: Обратите внимание: при попытке получить свойство не-объекта

Код

 $bpl = 31;

$marketFilter = MarketFilter::create()
->setCompetitionIds(array($bpl));

$eventBetfair->withMarketFilter($marketFilter);

$bplevents = $eventBetfair->getResults();

print_r($bplevents->name);

Данные / Результат

Следующие результаты появляются, когда я печатаю «$ bplevents», как показано ниже:

print_r($bplevents);

Выход:

Array ( [0] => Array ( [event] => Array ( [id] => 27732436 [name] => Leicester v Southampton [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-03T12:30:00.000Z ) [marketCount] => 13 ) [1] => Array ( [event] => Array ( [id] => 2022802 [name] => Barclays Premier League [countryCode] => GB [timezone] => Europe/London [openDate] => 2015-11-21T12:45:00.000Z ) [marketCount] => 23 ) [2] => Array ( [event] => Array ( [id] => 27732438 [name] => Liverpool v Tottenham [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T16:30:00.000Z ) [marketCount] => 13 ) [3] => Array ( [event] => Array ( [id] => 27732439 [name] => Man Utd v Everton [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-03T15:00:00.000Z ) [marketCount] => 13 ) [4] => Array ( [event] => Array ( [id] => 5767793 [name] => Season Match Bets [countryCode] => GB [timezone] => Europe/London [openDate] => 2015-08-16T12:30:00.000Z ) [marketCount] => 17 ) [5] => Array ( [event] => Array ( [id] => 19478157 [name] => Head to Head Leagues [countryCode] => GB [timezone] => Europe/London [openDate] => 2015-08-16T12:30:00.000Z ) [marketCount] => 2 ) [6] => Array ( [event] => Array ( [id] => 27732449 [name] => Arsenal v Watford [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T14:00:00.000Z ) [marketCount] => 14 ) [7] => Array ( [event] => Array ( [id] => 27732434 [name] => Aston Villa v Chelsea [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T11:45:00.000Z ) [marketCount] => 12 ) [8] => Array ( [event] => Array ( [id] => 27732448 [name] => Bournemouth v Man City [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T14:00:00.000Z ) [marketCount] => 13 ) [9] => Array ( [event] => Array ( [id] => 27732444 [name] => Norwich v Newcastle [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T14:00:00.000Z ) [marketCount] => 13 ) [10] => Array ( [event] => Array ( [id] => 27732446 [name] => Sunderland v West Brom [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T14:00:00.000Z ) [marketCount] => 13 ) [11] => Array ( [event] => Array ( [id] => 27732447 [name] => West Ham v C Palace [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T14:00:00.000Z ) [marketCount] => 13 ) [12] => Array ( [event] => Array ( [id] => 27732443 [name] => Stoke v Swansea [countryCode] => GB [timezone] => Europe/London [openDate] => 2016-04-02T14:00:00.000Z ) [marketCount] => 13 ) )

1

Решение

Выход — это массив, а не объект. С $ bplevents-> name вы вызываете объект.
Я бы сделал $ bplevents [‘name’], это правильный способ вызова массива.

РЕДАКТИРОВАТЬ:
Пожалуйста, проверьте ваш вывод. Ваш вывод говорит вам, что не так. У вас есть многомерный массив.
Возможно, после украшения вашего вывода, я понял, что вы должны получить доступ к этому как:
$bplevents[0]['event']['name']..
Вы также можете

foreach($bplevents as $amount => $array){
print_r($array['event']['name']);
}
1

Другие решения

$ bplevents передает массив, а не объект. Правильный способ назвать имя ниже.

print_r($bplevents[0]['element']['namne']);
0

По вопросам рекламы [email protected]