Всем привет, нужна помощь. Делали Parser по PHP, парсири ссылки на изображения по API. Пол года работало хорошо, но в один момент начал выдавать ошибку Warning: Undefined array key 0 in C:\Users\user\Desktop\vendor photo\parser.php on line 113 PHP Warning: foreach() argument must be of type array|object, null given in C:\Users\user\Desktop\vendor photo\parser.php on line 14 functionfindPhoto($arr) { $t = false; foreach ($arr as $value){ if($t){ return$value; } $t = ($value == "photo"); if(is_array($value)){ $p = findPhoto($value); if($p){ return$p; } } } returnfalse; } // Преобразование SimpleXMLElement в массив $array = json_decode( json_encode( $result[0]), true); returnfindPhoto($array); } Сам не разбираюсь, нужна помощь!
Добрый день! Это Ваш код: PHP: function findPhoto($arr) { $t = false; foreach ($arr as $value){ if($t){ return $value; } $t = ($value == "photo"); if(is_array($value)){ $p = findPhoto($value); if($p){ return $p; } } } return false; } // Преобразование SimpleXMLElement в массив $array = json_decode( json_encode( $result[0]), true); return findPhoto($array); } Последняя закрывающаяся скобка не понятно к чему. Ошибка из-за того, что массива в функцию не передаётся Это "мертвому припарки", но убрать ошибку можно так PHP: foreach ((array) $arr as $value){ , а лучше позаботится о том, что бы вызов был с массивом. Это ошибка: PHP: if($t){ return $value; } $t = ($value == "photo"); Переменная $t долна определяться перед if или д.б. PHP: if($value == "photo"){ return $value; } Удачи!