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

时间:2017-11-03 23:02:05

标签: php arrays laravel multidimensional-array laravel-5

如果我正在访问类似

的索引
$var = $final_Length_Array[1][0]['id'];

如何检查数组中是否存在“id”键索引。

我尝试使用函数array_key_exists,但它似乎只在一个维度数组上工作。

我尝试过像if(array_key_exists('id',$final_Length_Array)){,但它不起作用

我也试过检查是否有结果但是它也不起作用if(isset($final_Length_Array[1][0]['id'])){

任何帮助我都会很感激

1 个答案:

答案 0 :(得分:4)

超级hacky解决方案:

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