PHP – попытка получить свойство не-объекта

Я пытаюсь выполнить итерацию через свойство объекта, которое называется items , содержащим массив:

 foreach ($this->footerList->items as $item) 

Когда я выполняю инструкцию, я получаю сообщение об ошибке: «Попытка получить свойство не-объекта», хотя

 var_dump($this->footerList) 

показывает, что $this->footerList действительно содержит массив items .

 object(FooterModel)#13 (1) { ["items"]=> array(3) { [0]=> array(5) { ["id"]=> string(20) "terms-and-conditions" ["title"]=> string(20) "Terms and Conditions" ["url"]=> string(23) "home/termsandconditions" ["label"]=> string(20) "Terms and Conditions" ["authenticatedOnly"]=> string(5) "false" } [1]=> array(5) { ["id"]=> string(14) "privacy-policy" ["title"]=> string(14) "Privacy Policy" ["url"]=> string(18) "home/privacypolicy" ["label"]=> string(14) "Privacy Policy" ["authenticatedOnly"]=> string(5) "false" } } } 

Может кто-то, пожалуйста, помогите мне выяснить, почему оператор цикла не может разрешить $this->footerList->items ?

Должен быть

 foreach ($this->footerList["items"] as $item) 

Это чаще всего наблюдается, когда вы пытаетесь использовать $this а не внутри класса, вы пытаетесь ссылаться на массив как объект или внутри статического метода.

Вам нужно будет предоставить еще один код, чтобы получить более четкий ответ.

Обновить

Я отформатировал ваш результат.

 foreach ( (object) $this->footerList->items as $item) 

Вышеприведенное действие приведет все ваши подмассивы к объектам, чтобы вы могли использовать свой код так, как планировали его.