您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

把返回的数据集转换成数组树

2024/6/16 10:04:32发布28次查看

$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'=>'第三个'),
),
) ,
); /** * 把返回的数据集转换成tree * @access public * @param array $list 要转换的数据集 * @param string $pid parent标记字段 * @param string $level level标记字段 * @return array */function list_to_tree($list, $pk='id',$pid = 'pid',$child = '_child',$root=0) { // 创建tree $tree = array(); if(is_array($list)) { // 创建基于主键的数组引用 $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] =& $list[$key]; } foreach ($list as $key => $data) { // 判断是否存在parent $parentid = $data[$pid]; if ($root == $parentid) { $tree[] =& $list[$key]; }else{ if (isset($refer[$parentid])) { $parent =& $refer[$parentid]; $parent[$child][] =& $list[$key]; } } } } return $tree;}
复制代码
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product