PHP实现无限极分类
引用
<?php
/**
* 无限极分类实现
* @param $list array 需要处理的数组
* @param $pk string 主id
* @param $pid string 父级id
* @param $child string 子级名称
* @param $root *分类的值
* @return Array
*/
public function buildTree($list, $pk='id', $pid='pid', $child='_child', $root=0){
$tree = array();
$packData = array();
foreach ($list as $data) {
$packData[$data[$pk]] = $data;
}
foreach ($packData as $key=>$val){
if($val[$pid] == $root){
$tree[] = &$packData[$key];
}else{
$packData[$val[$pid]][$child][] = &$packData[$key];
}
}
return $tree;
}
理解性内容请点我跳转