/**
* 递归获取一个数组中指定key的值
* @param $array
* @param $keys
* @param string $delimiter
* @return mixed
*/
function get_deep_value($array, $keys, $delimiter = '.')
{
$keys = explode($delimiter, $keys);
$key = array_shift($keys);
if (sizeof($keys) > 0 && isset($array[$key])) {
return get_deep_value($array[$key], implode($delimiter, $keys), $delimiter);
} else {
return $array[$key] ?? null;
}
}
$a = [
'a' => [
'b' => 'error',
'c' => [
'd' => [
'e' => [
'f' => 'ok',
]
]
]
]
];
var_dump(get_deep_value($a, 'a.c.d.e.f'));
/**
* 输出:
* string(2) "ok"
*/
var_dump(get_deep_value($a, 'a.b'));
/**
* 输出:
* string(5) "error"
*/
var_dump(get_deep_value($a, 'a.b.c'));
/**
* 输出:
* NULL
*/
php递归获取一个数组中指定key的值
最新推荐文章于 2022-12-30 13:59:33 发布