array_key_exists不起作用

ArK*_*ArK 8 php arrays array-key

array_key_exists不适用于大型多维数组.对于前者

$arr = array(
    '1' => 10,
    '2' => array(
        '21' => 21,
        '22' => 22,
        '23' => array(
            'test' => 100,
            '231' => 231
        ),
    ),
    '3' => 30,
    '4' => 40
);
Run Code Online (Sandbox Code Playgroud)

array_key_exists('test',$ arr)返回'false'但它适用于一些简单的数组.

hal*_*dan 12

array_key_exists不起作用递归(正如Matti Virkkunen已经指出的那样).看一下PHP手册,您可以使用以下代码执行递归搜索:

<?php
function array_key_exists_r($needle, $haystack)
{
    $result = array_key_exists($needle, $haystack);
    if ($result) return $result;
    foreach ($haystack as $v) {
        if (is_array($v)) {
            $result = array_key_exists_r($needle, $v);
        }
        if ($result) return $result;
    }
    return $result;
}
Run Code Online (Sandbox Code Playgroud)