Я пытаюсь показать прогноз города из openweathermap.
Но мой foreach ничего не показывает. В чем дело?
<?php
$url = "http://api.openweathermap.org/data/2.5/forecast?zip=85080,de&lang=de&APPID=MYKEY";
$contents = file_get_contents($url);
$clima = json_decode($contents, true);
foreach($clima as $data) {
echo $data->list->main->temp_min;
}
?>
Результат от json_decode(string, true)
это ассоциативный массив.
<?php
$url = "http://api.openweathermap.org/data/2.5/forecast?zip=85080,de&lang=de&APPID=MYKEY";
$contents = file_get_contents($url);
$clima = json_decode($contents, true);
foreach($clima['list'] as $data) {
echo $data['main']['temp_min'];
}
?>
Если вы хотите использовать синтаксис объекта, не устанавливайте ассоциативное значение true
,
$clima = json_decode($contents);
foreach($clima->list as $data) {
echo $data->main->temp_min;
}
Ты использовал json_decode
с параметром ассоциативный к истине.
Так $ данных скорее массив, а не объект.
На основании этого образец (аналог вашего URL), вы должны получить доступ к своим значениям с помощью Синтаксис квадратной скобки :
$data['main']['temp_min'];