Не могу сделать вывод определённой строки в json?

{"cod":"200","message":0.0021,"cnt":1,"list":[{"dt":1533135600,"main":{"temp":27.88,"temp_min":26.74,"temp_max":27.88,"pressure":1017.51,"sea_level":1036.77,"grnd_level":1017.51,"humidity":53,"temp_kf":1.13},"weather":[{"id":800,"main":"Clear","description":"ясно","icon":"01d"}],"clouds":{"all":0},"wind":{"speed":1.97,"deg":19.0015},"sys":{"pod":"d"},"dt_txt":"2018-08-01 15:00:00"}],"city":{"id":524901,"name":"Moscow","coord":{"lat":55.7507,"lon":37.6177},"country":"RU","population":1000000}}


Подключаюсь к json через php. Вывод делаю через php foreach всё выводит кроме строки weather . Может кто подскажет строчкой???

Пример вывода
$data = json_decode(file_get_contents('файл json'));
<?php foreach($data->list as $list): ?>
<?= $list->main->temp ?> Значение выводит
<?php endforeach; ?>

Делал вот так ещё, но ничего не выводит (хотя вроде правильно сделал)
<?php foreach($data->list->weather as $list): ?>
<?= $list->icon ?> Значение невыводит
<?php endforeach; ?>

Помогите срочно надо.
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
@BI0R0B0T
Weather у тебя массив. Ты упустил обращение по индексу. Так всё выводит:
<?php
$data = json_decode('{"cod":"200","message":0.0021,"cnt":1,"list":[{"dt":1533135600,"main":{"temp":27.88,"temp_min":26.74,"temp_max":27.88,"pressure":1017.51,"sea_level":1036.77,"grnd_level":1017.51,"humidity":53,"temp_kf":1.13},"weather":[{"id":800,"main":"Clear","description":"ясно","icon":"01d"}],"clouds":{"all":0},"wind":{"speed":1.97,"deg":19.0015},"sys":{"pod":"d"},"dt_txt":"2018-08-01 15:00:00"}],"city":{"id":524901,"name":"Moscow","coord":{"lat":55.7507,"lon":37.6177},"country":"RU","population":1000000}}');
?>
<?php foreach($data->list as $list): ?>
<?= $list->main->temp ?> Значение выводит
<?php foreach($list->weather as $l): ?>
<?= $l->icon ?> Значение невыводит
<?php endforeach; ?>
<?php endforeach; ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы