博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
把返回的数据集转换成数组树
阅读量:6374 次
发布时间:2019-06-23

本文共 1198 字,大约阅读时间需要 3 分钟。

$old = array(
array('id'=>1,'pid'=>0,'name'=>'第一个' ),
array('id'=>2,'pid'=>1,'name'=>'第二个' ) ,
array('id'=>3,'pid'=>2,'name'=>'第三个'),
);
print_r(list_to_tree($old,'id','pid','_child'));
输出如下
$old = array(
array(
'id'=>1,
'pid'=>0,
'name'=>'第一个',
'_child'=>array(
    'id'=>2,
    'pid'=>1,
    'name'=>'第二个'
    '_child'=>array('id'=>3,'pid'=>2,'name'=>'第三个'),
    ),
) ,
);
标签:    CorePHP
代码片段(1)
[代码] 把返回的数据集转换成数组树
01    /**
02     * 把返回的数据集转换成Tree
03     * @access public
04     * @param array $list 要转换的数据集
05     * @param string $pid parent标记字段
06     * @param string $level level标记字段
07     * @return array
08     */
09    function list_to_tree($list, $pk='id',$pid = 'pid',$child = '_child',$root=0) {
10        // 创建Tree
11        $tree = array();
12        if(is_array($list)) {
13            // 创建基于主键的数组引用
14            $refer = array();
15            foreach ($list as $key => $data) {
16                $refer[$data[$pk]] =& $list[$key];
17            }
18            foreach ($list as $key => $data) {
19                // 判断是否存在parent
20                $parentId = $data[$pid];
21                if ($root == $parentId) {
22                    $tree[] =& $list[$key];
23                }else{
24                    if (isset($refer[$parentId])) {
25                        $parent =& $refer[$parentId];
26                        $parent[$child][] =& $list[$key];
27                    }
28                }
29            }
30        }
31        return $tree;
32    }

转载于:https://www.cnblogs.com/xingmeng/archive/2013/02/04/2891983.html

你可能感兴趣的文章
qml文字滚动效果的封装,实现方式运用的qml中提供的动画效果,另一种实现方式也可以使用定时器修改控件的坐标来实现...
查看>>
标准C++实现任务队列
查看>>
jdbc url
查看>>
刷leetcode第704题-二分查找
查看>>
debug_backtrace() 函数生成一个 backtrace(追踪)
查看>>
第七天,还是盒子
查看>>
XAMPP软件包下载
查看>>
XXL-JOB初体验-ORACLE版
查看>>
沉思录:别人的棺材
查看>>
jersey + spring + mybatis + redis项目搭建
查看>>
PAT 1006 部分正确_另一种解法
查看>>
在Keil环境下使用JLink实现printf输出重定向至debug窗口
查看>>
postgres的\d命令不显示全部的用户表
查看>>
poj 3468 A Simple Problem with Integers
查看>>
OOA/OOD/OOP细讲
查看>>
Tomcat 系统架构与设计模式_ 设计模式分析
查看>>
Quartz的使用
查看>>
Spring Boot Quartz集成(一)
查看>>
IP子网划分
查看>>
海哥:再谈粉丝经济,你所知道的99%都是错误的。
查看>>