json — Использование API прогноза OpenWeatherMap в переполнении стека

Я пытаюсь показать прогноз города из 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;
}
?>

0

Решение

Результат от 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;
}
0

Другие решения

Ты использовал json_decode с параметром ассоциативный к истине.

Так $ данных скорее массив, а не объект.

На основании этого образец (аналог вашего URL), вы должны получить доступ к своим значениям с помощью Синтаксис квадратной скобки :

$data['main']['temp_min'];
0

По вопросам рекламы [email protected]