php递归获取一个数组中指定key的值
2017-09-26 10:15
656 查看
/** * 递归获取一个数组中指定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的上一个prev和下一个next下标值
- 获取PHP多维数组中指定键(key或下标)的值
- PHP中获取我的城市列表,通过排序,通过A-Z的循环!数列出相同的首字母结果!,放到一个以A-Z为key的数组里面去,再返回我要的结果!
- php将两个不同长度数组相同的key合并到一个数组,不同的key也合并进去
- 经典递归-求一个数组中的所有组合值等于指定值的组合
- PHP的数组中如何根据某一个value值获取其key值
- php实现数组按指定KEY排序的方法
- php将两个数组相同的key合并到一个数组
- 一个php从数据库取出的无限极递归多维数组
- PHP获取数组中指定的一列实例
- PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
- PHP实现向关联数组指定的Key之前插入元素的方法
- PHP递归方式把一个数组里面的null转换为空字符串”的方法
- php把一个字符串分割成字符数组(可以用参数指定数组每个元素字符的长度)
- php判断数组中是否存在指定键(key)的方法
- php嵌套数组递归搜索返回数组key
- php获取二维数组value的最小值key为指定非整型值
- 【面试题】有一个整数数组,求指定连续N个的和最大的子数组,PHP实现。
- PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)
- PHP数组中,根据一个value值获取到它的key值