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