[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: распарсить расписание из json
Gover
Есть json файл с расписанием сеансов. Мне нужно брать только мой кинотеатр и нужный мне фильм и исходя из этих параметров построить расписание примерно такого плана

Кинотеатр «Звезда» 27.02 18.45 20.50
28.02 14.45 18.45 20.50
01.03 14.30 18.50
02.03 14.30 18.50
Кинотеатр «Октябрь» 27.02 18.00 20.30
28.02 18.00 20.30
01.03 19.00
02.03 19.00
03.03 19.00

На данный момент есть такой код

<?php
$str = file_get_contents('data.json');
$json = json_decode($str); // decode the JSON into an associative array

foreach ($json as $item)
{
if ($item->cinema_id == 78940)
{
echo $item->datetime . ' // ' . $item->movie_id . ' // ' . $item->price . ' // ' . $item->in_3D . ' // ' . $item->movie_name . '<br>';
}

}

?>

Буду благодарен за советы как двигаться дальше. Файл с данными на Яндекс диске https://yadi.sk/d/Lv0QTfmz3St2nc
AllesKlar
не, не так.

// это оставляем
$str = file_get_contents('data.json');
$json = json_decode($str); // decode the JSON into an associative array
//* decode the JSON into an associative array - никакого тут associative array нет, на выходе у тебя массив объектов класса stdClass

//далее отфильтровываем массив array_filter
// оставляем только нужный нам кинотеатр и нужную нам фильму

$json = array_filter($json, $function($item) {
return $item->cinema_id == __ID_КИНОТЕАТРА && $item->movie_id == __ID__ФИЛЬМЫ ;
});

// теперь сортируем по дате / времени
usort($json, function($a, $b) {
if ($a->datetime == $b->datetime) {
return 0;
}
return ($a->datetime < $b->datetime) ? -1 : 1;
});

var_dump($json);

Ну и всё. теперь у тебя в $json только конкретный фильм в конкретном кинотеатре и все это дело отсортировано по возрастанию даты.

Красивую табличку сам нарисуй :)

_____________
[продано копирайтерам]
ya
Array
(
[success] => 1
[return] => Array
(
[2063782173944096] => Array
(
[pair] => trx_rur
[type] => sell
[amount] => 2.42104607
[rate] => 1.46
[timestamp_created] => 1564851382
[status] => 0
)

)

)
Кто нибудь подскажите как здесь вытащить число [2063782173944096]. Выражение типа echo $res4['return'][0]; ничего не отображает, пробовал декодировать json [return] выдаёт ошибку... Заранее благодарен.
SorokinFilipp265
list($key,$value) = each($res4['return']);
echo $key;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.