方法封装
/**
* @param $current_key string 当前编号
* @param $parent_key string 父级编号
* @param $array array 数据
* @return array
*/
public function getTreeList($current_key,$parent_key,$array){
//第一步 构造数据
$items = array();
foreach($array as $value){
$items[$value[$current_key]] = $value;
}
//第二部 遍历数据 生成树状结构
$tree = array();
foreach($items as $key => $value){
if(isset($items[$value[$parent_key]])){
$items[$value[$parent_key]]['children'][] = &$items[$key];
}else{
$tree[] = &$items[$key];
}
}
return $tree;
}
使用例子
$arrayData=array(
array('name'=>'小明','wbs_no'=>1,'p_wbs_no'=>0),
array('name'=>'小王','wbs_no'=>2,'p_wbs_no'=>1),
array('name'=>'小李','wbs_no'=>3,'p_wbs_no'=>2),
);
$result=$this->getTreeList('wbs_no','p_wbs_no',$arrayData);
输出

评论 (0)