У меня нет абсолютно никакого представления, что я делаю неправильно прямо сейчас. Я думаю, что я умственно истощен, потому что я совершенно не знаю. Вот код, который я использую:Недопустимый аргумент, предоставленный foreach()
if(empty($this->updates) || !is_array($this->updates))
return null;
foreach($this->updates as $update)
Это не работает. ОДНАКО, если я делаю print_r ($ this-> updates) перед foreach (и после), он отлично работает. Почему, когда я пытаюсь использовать его в foreach, он притворяется, что массив не существует?
Образец print_r ($ this-> Обновления):
Array
(
[0] = Array
(
[id] => 1
[name] => test
)
[1] = Array
(
[id] => 2
[name] => rawr
)
)
Эта ошибка обычно возникает, если вы попытаетесь передать любую вещь *, кроме * массива, в 'foreach'. Что возвращает ваш 'print_r'? –
можно ли увидеть результат 'print_r'? – fredley
Можете ли вы использовать результат var_dump ($ this-> updates)? Кроме того, вы должны добавить if (! Isset ($ this-> updates) || empty ($ this-> updates)) – Shikiryu