array_key_exists()不产生输出。

时间:2016-09-26 13:34:23

标签: php array-key

我正在尝试检查数组中的特定键是否存在,如果存在则打印其值。我尝试执行下面的代码,但它没有打印出任何东西

    $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所以我不太确定我的代码是什么问题。非常感谢我能得到的所有帮助。干杯

1 个答案:

答案 0 :(得分:0)

由于您尝试通过访问数组的第一个元素($ json [0])来打印结果,因此您显然正在测试错误的数组。 array_key_exists()不会递归地检查嵌套数组,因此您必须使用嵌套数组。尝试检查

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

或类似

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