Здравствуйте. Пытаюсь получить PHP массив с JSON и вывести все названия городов по стране. Ничего не выводит. Json валидный, проверял здесь. В чем моя ошибка?
$json[] = file_get_contents('http://turmagnat-demo.ideaperm.ru/hotels/Output_1.json');
$array = json_decode($json, true);
$country = "Ямайка";
$city = "";
foreach ( $array as $key => $value){
if($value['country'] == $country) {
$city .= $value['city'];
}
}
echo $city;
Пример JSON файла:
[
{
"id": "al130489",
"sourceUrl": "http://tophotels.ru/hotel/al130489",
"country": "США",
"city": "Висконсин",
"name": "Hilton Garden Inn Appleton/Kimberly 3*",
"description": null,
"reviews": [],
"images": []
},
{
"id": "al277646",
"sourceUrl": "http://tophotels.ru/hotel/al277646",
"country": "Италия",
"city": "Лидо ди Камайоре",
"name": "Villa Il Fortino",
"description": null,
"reviews": [],
"images": []
}
]
Возможно вы зря в массив помещаете данные, попробуйте так
$json = file_get_contents('http://turmagnat-demo.ideaperm.ru/hotels/Output_1.json');
$array = json_decode($json, true);
А еще лучше всегда проверить что json преобразовался в массив, иначе получите ошибку invalid argument supplied foreach, json_decode в случае ошибки вернет вам NULL вместо массива, поэтому лучше так:
$array = json_decode($json, true) ?? [];
либо
$array = json_decode($json, true) ?: [];
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Привет, есть работающий проект документооборота на PHPМашина на которую поставлен - Windows2012+php+mysql+apache виртуальная с 2 процессорами 4 ГБ и жесткий...
На некоторых сайтах видел всплывающее окно о том, чтобы отправлять новости в центр уведомлений MacOSКак такое можно реализовать? Пытался найти...