如何检查特定阵列关键是存在于多维数组
问题描述:
如果我访问这样的如何检查特定阵列关键是存在于多维数组
$var = $final_Length_Array[1][0]['id'];
指数如何检查“标识”键索引是否在数组中或不存在。
我试过使用函数array_key_exists
,但它似乎只适用于一维数组。
我想它像if(array_key_exists('id',$final_Length_Array)){
,但它没有工作
我也尝试isset检查是否有结果,或没有,但它没有也行if(isset($final_Length_Array[1][0]['id'])){
任何帮助,我会欣赏它
答
超级哈克解决方案:
function array_key_exists_recursive($array, $key) {
return strpos(json_encode($array), "\"" . $key . "\":") !== false;
}
更好的解决方案:
$array = ['a' => ['b' => 'c']];
function array_key_exists_recursive($key, $array) {
if (array_key_exists($key, $array)) {
return true;
}
foreach($array as $k => $value) {
if (is_array($value) && array_key_exists_recursive($key, $value)) {
return true;
}
}
return false;
}
var_dump(array_key_exists_recursive('b', $array));
+1
超级酷,它工作正常,现在我可以检索任何索引。 非常感谢 – Rami
请给出一个示例数组,给你的问题。 – trincot
阵列就像 '[ { “名”: “李四”, “年”: “1”, “课程”: “艺术” } ]' – Rami
那么你不必' [1]'。 – trincot