array_key_exists () не производит вывод.

я пытаюсь проверить, существуют ли определенные ключи в моих массивах, и распечатать его значение, если оно существует. Я попытался выполнить код ниже, но он ничего не печатает

    $json = json_decode($result, true);

if (array_key_exists('genre', $json)){
print ("Genre: ".$json[0]['genre']."<br/>");
}

foreach($json[0]['types'] as $key2 => $values2) {
if (array_key_exists('types', $values2)){
print ("Types: Album type: ".$values2."<br/>");
}

}

Просто попал в php, так что я не совсем уверен, что не так с моим кодом. Буду признателен за всю помощь, которую я могу получить. ура

0

Решение

Поскольку вы пытаетесь распечатать результат, обращаясь к первому элементу массива ($ json [0]), вы, очевидно, тестируете неправильный массив. array_key_exists () не проверяет вложенные массивы рекурсивно, поэтому вы должны использовать вложенные массивы. Попробуйте проверить

array_key_exists('genre', $json[0])

или что-то вроде

foreach($json as $jsonArray) {
if(array_key_exists('genre', $jsonArray)) {
....
}
}
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector