Как пропустить одно (2,3) значение при получении json?
В коде ниже нужно получить только вторые данные — "dt":1453798800. При выводе данных с foreach, он выводить весь список. А нужно чтобы выводилось определенные значения. Например 2, 5 и 7.
{
"city":{
"id":542420,
"name":"Krasnodar",
"coord":{
"lon":38.976944,
"lat":45.03278
},
"country":"RU",
"population":0
},
"cod":"200",
"message":0.0252,
"cnt":2,
"list":[
{
"dt":1453712400,
"temp":{
"day":-10.11,
"min":-15.76,
"max":-9.67,
"night":-15.76,
"eve":-11.65,
"morn":-10
},
"pressure":1035.45,
"humidity":99,
"weather":[
{
"id":600,
"main":"Snow",
"description":"небольшой снегопад",
"icon":"13d"
}
],
"speed":4.66,
"deg":25,
"clouds":64,
"snow":0.61
},
{
"dt":1453798800,
"temp":{
"day":-10.46,
"min":-17.77,
"max":-9.26,
"night":-17.77,
"eve":-12.58,
"morn":-14.58
},
"pressure":1035.15,
"humidity":96,
"weather":[
{
"id":600,
"main":"Snow",
"description":"небольшой снегопад",
"icon":"13d"
}
],
"speed":3.41,
"deg":68,
"clouds":24,
"snow":0.17
}
]
}
PHP
$data = @file_get_contents($url);
$dataJson = json_decode($data);
$arrayDays = $dataJson->list;
// выводим данные
foreach($arrayDays as $oneDay){
echo "Погода: " . $oneDay->weather[0]->description . "<br/>";
echo "Скорость ветра: " . $oneDay->speed . "<br/>";
echo "Давление: " . $oneDay->pressure . "<br/>";
}
Так как поле list
в вашем случае - массив, то выбрать нужные элементы можно прост по индексу
var el0 = data.list[0];
var el1 = data.list[1];
//и т.д.
Либо воспользоваться функцией filter и получить массив с нужными элементами
var list = data.list.filter(function(element, index){
return index == 2 || index==5 || index==7; //выбираем элемент только с индексом 2,5 или 7
})
UPDATE:
Пример с array_filter для php
var_dump(array_filter($arr, function($v, $k) {
return $k == 2 || $k ==5 || $k ==7;
}, ARRAY_FILTER_USE_BOTH));
например:
$arrayDays = array_filter($dataJson->list, function($v, $k) {
return $k == 2 || $k ==5 || $k ==7;
}, ARRAY_FILTER_USE_BOTH);
Обратите внимание: флаг, третий параметр, добавлен в версии 5.6.0
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В проекте на Yii2, я загружаю через форму файлы в папку files, находящуюся в корне проекта, а не в папке web