Использование API прогноза OpenWeatherMap в PHP - PullRequest
0 голосов
/ 24 августа 2018

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

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Вы использовали json_decode с параметром , ассоциативно в true.

Итак, $ data скорее массив, а не объект.

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

$data['main']['temp_min'];
0 голосов
/ 24 августа 2018

Результат из 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...