PHP数组递归排序
来源:互联网 发布:大话西游手游藕丝数据 编辑:程序博客网 时间:2024/06/07 06:27
/** * 递归根据特定key对数组排序 * @param $data * @param string $orderKey * @param string $sonKey * @param int $orderBy * @return mixed */function recursion_orderby($data, $orderKey = 'order', $sonKey = 'children', $orderBy = SORT_ASC){ $func = function ($value) use ($sonKey, $orderKey, $orderBy) { if (isset($value[$sonKey]) && is_array($value[$sonKey])) { $value[$sonKey] = recursion_orderby($value[$sonKey], $orderKey, $sonKey, $orderBy); } return $value; }; return array_orderby(array_map($func, $data), $orderKey, $orderBy);}$a = [ [ 'order' => 0, ], [ 'order' => -1, 'children' => [ [ 'order' => 0, ], [ 'order' => -2, 'children' => [ ['order' => 0], ['order' => -1], ['order' => 1], ], ], ], ], [ 'order' => 2, ],];var_dump(recursion_orderby($a));/** * 输出:array(3) { [0] => array(2) { 'order' => int(-1) 'children' => array(2) { [0] => array(2) { 'order' => int(-2) 'children' => array(3) { [0] => array(1) { 'order' => int(-1) } [1] => array(1) { 'order' => int(0) } [2] => array(1) { 'order' => int(1) } } } [1] => array(1) { 'order' => int(0) } } } [1] => array(1) { 'order' => int(0) } [2] => array(1) { 'order' => int(2) }} */
array_orderby方法地址http://blog.csdn.net/alexander_phper/article/details/55215825
阅读全文
0 0
- PHP数组递归排序
- php递归转义数组
- PHP数组递归
- php数组递归读取
- PHP数组递归转义
- 递归练习 数组选择排序
- 数组 快速排序 递归算法
- 递归实现数组的排序
- 快速排序 数组+递归实现
- 递归遍历PHP多维数组
- PHP数组递归转义方法
- PHP递归遍历多维数组
- PHP数组转XML 递归
- php 递归合并多维数组
- php递归处理多维数组
- PHP数组排序
- PHP 二维数组排序
- php数组的排序
- 2017.10.13
- java变量类型的讨论
- 解决wordpress 浏览次数位置调整问题(wp postviews 插入代码)
- SQL 学习笔记
- Android 获取系统服务的源代码分析
- PHP数组递归排序
- docker版nexus安装及使用
- elasticsearch学习第一天
- ImagLoder和 ViiewPager 适配器
- Python 必须凑够3个线程,才一起执行
- 转]SpringMVC Controller介绍及常用注解
- spring web应用的异常处理
- 欢迎使用CSDN-markdown编辑器
- Sublime Text3 3143 注册码