Mr.*_*eks 2 php arrays key exists multidimensional-array
我想要一个函数,根据给定的键是否存在于 PHP 的多维数组中,该函数将返回 TRUE 或 FALSE。
我一直无法找出执行此操作的递归函数。
这可以做什么的示例:
$array = array(
'key 1' => array(
'key 1.1' => array()
'key 1.2' => array()
),
'key 2' => array(
'key 2.1' => array(
'key 2.1.1' => array()
)
'key 2.2' => array()
)
);
multi_array_key_exists('key 1', $array); // return TRUE
multi_array_key_exists('key 2.1.1', $array); // return TRUE
multi_array_key_exists('key 3', $array); // return FALSE
Run Code Online (Sandbox Code Playgroud)
这就是递归函数派上用场的地方。
function multi_array_key_exists($key, array $array): bool
{
if (array_key_exists($key, $array)) {
return true;
} else {
foreach ($array as $nested) {
if (is_array($nested) && multi_array_key_exists($key, $nested))
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
请注意,这可能需要一些时间(在长嵌套数组中),最好先展平,因为您只对键是否存在感兴趣。
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |