public function getChlidPresona ($info, $presona_pid=0) {
//递归显示机构组信息
$list = [];
foreach($info as $k => $v) {
if($v['presona_pid'] == $presona_pid) {
$arr = array();
$arr['id'] = $v['id'];
$arr['presona'] = $v['presona'];
$arr['presona_pid'] = $v['presona_pid'];
$arr['presona_user_name'] = $v['user_name'];
$arr['presona_num'] = $v['presona_num'];
$arr['remarks'] = $v['remarks'];
$list[$k] = $arr;
unset($info[$k]);
$list[$k]['childList'] = $this->getChlidPresona($info, $v['id']);
}
}
$tree = array_values($list);
return $tree;
}
public function getTree($arr,$pid=0,$level=1){
static $tree = [];
foreach ($arr as $key => $value) {
$pre = $level > 1 ? "|" : "";
if($value['pid'] == $pid){
for($i=1;$i<$level;$i++){
$pre .= '--';
}
$value['pre'] = $pre;
$value['level'] = $level;
$tree[] = $value;
unset($arr[$key]); // 删除已排好的数据,减少循环次数
$this->getTree($arr,$value['id'],$level+1);
}
}
return $tree;
}