Вы можете использовать foreach
( документы ) для циклического просмотра результатов JSON и вложенные массивы ( документы ) для хранения всей информации об эпизодах.Это может привести к тому, что ваша фаза определения смысла JSON-результата будет выглядеть примерно так:
$url = 'http://itunes.apple.com/search?term=firefly&media=tvShow&entity=tvEpisode&attribute=showTerm';
$json = file_get_contents($url);
$data = json_decode($json);
$results = array();
foreach ($data->results as $r) {
$season = $r->collectionName;
$episode = $r->trackNumber;
$results[$season][$episode] = $r;
}
Массив результатов имеет следующую структуру.
array (
'Firefly, Season 1' =>
array (
1 =>
array (
'wrapperType' => 'track',
'kind' => 'tv-episode',
'artistId' => 151198837,
'collectionId' => 151801083,
'trackId' => 151961947,
'artistName' => 'Firefly',
'collectionName' => 'Firefly, Season 1',
'trackName' => 'Serenity',
...
),
...
),
)
Thisозначает, что вы можете получить доступ к отдельным эпизодам по номеру, например $results['Firefly, Season 1'][3]
для эпизода Bushwhacked
, или вы можете выполнить цикл в течение сезона:
foreach ($results['Firefly, Season 1'] as $episode) {
echo $episode['trackName'], PHP_EOL, $episode['longDescription'], PHP_EOL;
}
Конечно, если вас не волнует сезонвсе ваши результаты возвращают один сезон шоу?) или вы хотите получить несколько шоу в результатах (что вы ищете ?!), тогда можно использовать один и тот же процесс, только с другими критериями и большей (или меньшей) глубинойструктура массива результатов.