function make_tree($list,$pk='user_id',$pid='p_id',$child='_child',$root=0){
$tree=array();
foreach($list as $key=> $val){
if($val[$pid]==$root){
//获取当前$pid所有子类
unset($list[$key]);
if(! empty($list)){
$child=$this->make_tree($list,$pk,$pid,$child,$val[$pk]);
if(!empty($child)){
$val['_child']=$child;
}
}
$tree[]=$val;
}
}
return $tree;
}
参数说明:
$list 所有符合条件的分类结果集
$pk 建立关系的字段
$pid 建立关系的父ID
$child 生成子数组的键
$root 一级分类的pid值