Как получить доступ к массиву JSON с помощью переполнения стека

Я использую Giantbomb API, который возвращает результаты примерно так;

{
error: "OK",
limit: 100,
offset: 0,
number_of_page_results: 24,
number_of_total_results: 24,
status_code: 1,
results: [
{
expected_release_day: 8,
expected_release_month: 5,
name: "Project CARS",
platforms: [
{
api_detail_url: "http://www.giantbomb.com/api/platform/3045-94/",
id: 94,
name: "PC",
site_detail_url: "http://www.giantbomb.com/pc/3045-94/",
abbreviation: "PC"},
],
site_detail_url: "http://www.giantbomb.com/project-cars/3030-36993/"},

Я могу получить доступ к большей части информации, используя стандартный json_decode, затем перебирая элементы, используя цикл for, но по какой-то причине у меня возникают проблемы с доступом к возвращаемому массиву платформы. Я пытаюсь получить название платформы примерно так:

foreach($games['results'] as $item){
print $item['platforms']['name'];

но я всегда получаю ошибки «Неопределенный индекс» при этом. Что я здесь не так делаю?

1

Решение

Внутри есть еще одно измерение platformsВам нужно добавить еще один индекс:

foreach($games['results'] as $item) {
if(isset($item['platforms'][0]['name'])) {
echo $item['platforms'][0]['name'];
}
}

Примечание: приведенный выше код просто указывает на нулевой индекс. Если внутри этой глубины намного больше, вы добавляете еще одну итерацию:

foreach($games['results'] as $item) {
foreach($item['platforms'] as $platform) {
echo $platform['name'];
}
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]