php 如何检查多维数组中是否存在特定数组键

tvokkenx  于 2023-06-20  发布在  PHP
关注(0)|答案(2)|浏览(157)

如果我访问这样的索引

$var = $final_Length_Array[1][0]['id'];

如何检查“id”键索引是否存在于数组中。
我尝试使用函数array_key_exists,但它似乎只在一维数组上工作。
我试过像if(array_key_exists('id',$final_Length_Array)){,但它没有工作
我也试过isset来检查是否有结果,但它也不起作用if(isset($final_Length_Array[1][0]['id'])){
任何帮助我将不胜感激

e0bqpujr

e0bqpujr1#

超级黑客解决方案:

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));
dy2hfwbg

dy2hfwbg2#

$var = $final_Length_Array[1][0]['id'] ?? false;

返回idfalse的值

相关问题