//递归处理
public function recursion($data,$path=0,$flag=1){
static $arr=array();
foreach($data as $key=>$val){
if($val['pid']==$path){
$val['flag']=$flag;
$arr[]=$val;
$this->recursion($data,$val['power_id'],$flag+1);
}
}
return $arr;
}
、、、、、、、、、、、、、、、、、、、、
/**
* 查询分类树
* @param $list
* @param string $pk
* @param string $pid
* @param string $child
* @param int $root
* @return array
*/
public static function makeTree($list,$pk='category_id',$pid='pid',$child='_child',$root=0){
$tree = [];
$packData = [];
foreach ($list as $data) {
//转换为带有主键id的数组
$packData[$data[$pk]] = $data;
//$packData[1]=$data; $packData[2]=$data
}
foreach ($packData as $key =>$val){
if($val[$pid]==$root){
//代表跟节点
$tree[] = & $packData[$key];
}else{
//找到其父类
$packData[$val[$pid]][$child][] = & $packData[$key];
}
}
return $tree;
}