я хочу распечатать данные, которые поступают из api, когда я печатаю данные, он печатает только одни данные за раз, как распечатать все эти данные в цикле foreach, я использую это, но не работаю и получаю и получаю ошибку Trying to get property 'Name' of non-object как для решения этой проблемы заранее спасибо
это ответ
$response = sabreApiCall($url, $data_array);
$results = json_decode($response);
$i =0;
foreach ($results->GeoSearchRS->GeoSearchResults->GeoSearchResult[$i] as $hotel)
{
echo $hotel->Name;
$i ++;
}
}






Просто верните $results, так как laravel вернет его как json.
ответ выше - это результаты json $, когда я печатаю его print_r ($results) выше показанного ответа
почему вы используете переменную $i для перебора этого массива. Просто используйте foreach следующим образом
$response = sabreApiCall($url, $data_array);
$results = json_decode($response);
foreach ($results->GeoSearchRS->GeoSearchResults->GeoSearchResult as $hotel)
{
echo $hotel->Name;
}
}
Прочтите php.net/manual/en/control-structures.foreach.php и сравните со своей попыткой. Также вы можете прочитать о втором параметре
json_decodephp.net/manual/en/function.json-decode.php - в PHP он удобнее для работы с массивами, чем с объектами stdClass. Дополнительный совет: никогда не используйтеechoв разработке, это ужасно и скрывает от вас очень полезную информацию, вместо этого используйтеvar_dump()php.net/manual/en/function.var-dump.php.