在php中经常遇到要获取一个数组中的key值,所以本篇文章将讲解其相关知识。/**
* 递归获取一个数组中指定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的值的相关方法,更多相关知识请关注Gxl网。
相关推荐:
通过PHP实现读取一个1G的文件大小
讲解PHP类初始化功能代码
讲解PHP面向对象,PHP继承相关代码