温馨提示×

php array_key_exists能检查多维数组的深层元素吗

PHP
小樊
82
2024-11-23 22:06:33
栏目: 编程语言

是的,array_key_exists 函数可以检查多维数组的深层元素

function array_key_exists_recursive($key, $array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            if (array_key_exists($key, $value)) {
                return true;
            }
        } else {
            if ($key === $value) {
                return true;
            }
        }
    }
    return false;
}

// 示例数组
$array = [
    'a' => 1,
    'b' => [
        'c' => 2,
        'd' => [
            'e' => 3,
            'f' => 4
        ]
    ],
    'g' => 5
];

// 检查深层元素是否存在
if (array_key_exists_recursive('f', $array)) {
    echo "Key 'f' exists in the array.";
} else {
    echo "Key 'f' does not exist in the array.";
}

在这个示例中,array_key_exists_recursive 函数会遍历多维数组的每个元素。如果元素是数组,函数会递归地调用自身来检查深层元素。如果找到匹配的键,函数返回 true,否则返回 false

0