是的,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
。