RJStrannik
@RJStrannik
Потихонечку пилю свое интернет-радио

Как вывести данные из json, сортируя вывод только по одному полю?

Итак, имеется файл json, примерно такого содержания:

{
    "games": [
        {
            "name": "FlatOut 2",
            "image": "http:\/\/www.game-ost.ru\/static\/covers_soundtracks\/1\/1\/11195_599433.jpg",
            "game_key": "DNVI5-74JHP-OLOQ2",
            "start": 1441052980,
            "winner": "https:\/\/vk.com\/id164746581"
        },
        {
            "name": "Anachronox",
            "image": "http:\/\/www.abcgames.sk\/udaje\/cd_obaly\/2\/230_f1.jpg",
            "game_key": "GPXFT-J9GJ4-PF58L",
            "start": 1441114401
        },
        {
            "name": "Daikatana",
            "image": "http:\/\/files.khinsider.com\/vgwallpaper\/1280x1024\/685-daikatana-005-wywlf.jpg",
            "game_key": "GPXFT-J9GJ4-PF58L"
        }
    ]
}


Мне необходимо вывести только те данные, в которых есть строка winner.

Суть - есть конкурс по подбору ключа к игре. Игра выбирается первая в списке файла json. Если ключ подобран - в массив приписывается строка winner, и выбирается следующая строка, где строки winner нет. Туба пишется строка start и конкурс запускается по-новой.

Я хочу сделать файл, который будет выводить "историю выйгрышей". Тоесть там будет указано, какие игры были разыграны, когда, какой был ключ и кто победил.

Систему писал не я. В программировании не разбираю и строчки.
Можете ли вы помочь с написанием обрабортчика?
  • Вопрос задан
  • 625 просмотров
Решения вопроса 1
@vista1x
$json = '{
	"games": [
		{
			"name": "FlatOut 2",
			"image": "http:\/\/www.game-ost.ru\/static\/covers_soundtracks\/1\/1\/11195_599433.jpg",
			"game_key": "DNVI5-74JHP-OLOQ2",
			"start": 1441052980,
			"winner": "https:\/\/vk.com\/id164746581"
		},
		{
			"name": "Anachronox",
			"image": "http:\/\/www.abcgames.sk\/udaje\/cd_obaly\/2\/230_f1.jpg",
			"game_key": "GPXFT-J9GJ4-PF58L",
			"start": 1441114401
		},
		{
			"name": "Daikatana",
			"image": "http:\/\/files.khinsider.com\/vgwallpaper\/1280x1024\/685-daikatana-005-wywlf.jpg",
			"game_key": "GPXFT-J9GJ4-PF58L"
		}
	]
}';


	$data = json_decode($json, true);

	foreach ($data['games'] as $game)
	{
		if (isset($game['winner']))
		{
			//выводим
			print $game['name'] . "<br>";
		}
	}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы