function recursion($data=array(),$parent_id=0){
$arr = array();
foreach ($data as $key => $value) {
if ($parent_id==$value['parent_id']) {
$arr[$key]=$value;
$arr[$key]['son']=recursion($data,$value['position_id']);
}
}
return $arr;
}
function recursion1($data=array(),$parent_id=0,$level=0){
static $arr=[];
foreach ($data as $key => $value) {
if ($parent_id==$value['parent_id']) {
$arr[$key]=$value;
$arr['level']=str_replace(' ',$level);
$arr[$key]['son']=recursion1($data,$value['position_id'],$level+2);
}
}
return $arr;
}
/**
* @param $data
* @param int $fid 父级id
* @param int $space 站位符
* @param int $leval 层级
* @return array
*/
function get_tree_list($data,$fid=0,$space=-4,$leval=1)
{
$space +=4;
static $arr;
foreach($data as $key=>$val)
{
if($val['parent_id'] == $fid)
{
$val['nbsp'] = str_repeat(' ',$space). 'ㅏ';
//$val['nbsps'] = str_repeat(' ',$space);
$val['level'] = $leval;
$arr[] = $val;
get_tree_list($data,$val['position_id'],$space,$leval+1);
}
}
return $arr;
}
foreach($arr as $key=>$value){
$new_arr[$value['id']]=$value;
}
function generateTree($items){
$tree = array();
foreach($items as $item){
if(isset($items[$item['pid']])){
$items[$item['pid']]['son'][] = &$items[$item['id']];
}else{
$tree[] = &$items[$item['id']];
}
}
return $tree;
}
$arr2=generateTree($new_arr);
print_r($arr2);die;