首页 > 代码库 > 一个无限级分类
一个无限级分类
1 /** 2 * 把返回的数据集转换成Tree 3 * @param array $list 要转换的数据集 4 * @param string $pid parent标记字段 5 * @param string $level level标记字段 6 * @return array 7 */ 8 function list_to_tree($list, $pk=‘id‘, $pid = ‘pid‘, $child = ‘_child‘, $root = 0) 9 { 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 }
很不错!性能应该很高
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。