я пытаюсь проверить, существуют ли определенные ключи в моих массивах, и распечатать его значение, если оно существует. Я попытался выполнить код ниже, но он ничего не печатает
$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, так что я не совсем уверен, что не так с моим кодом. Буду признателен за всю помощь, которую я могу получить. ура
Поскольку вы пытаетесь распечатать результат, обращаясь к первому элементу массива ($ json [0]), вы, очевидно, тестируете неправильный массив. array_key_exists () не проверяет вложенные массивы рекурсивно, поэтому вы должны использовать вложенные массивы. Попробуйте проверить
array_key_exists('genre', $json[0])
или что-то вроде
foreach($json as $jsonArray) {
if(array_key_exists('genre', $jsonArray)) {
....
}
}
Других решений пока нет …