无限极递归的处理方式

//先查询所有的数组
public function getAll(){
$data = $this->select();
//调用递归查询相关的小数组
return $this->digui($data,$pid=0);
}

//定义一个递归的方法
public function digui($data,$pid=0){
//定义一个儿子的数组,形成孙子结构
$child = [];
foreach ($data as $k => $v){
if($v['pid']==$pid){
$child[] = $v;
}
}

//判断一下$child是不是空的
if(empty($child)){
return null;
}

//如果不是空的,继续循环他的孙子
foreach ($child as $kk => $vv){
$res = $this->digui($data,$vv['nid']);
$child[$kk]['child'] = $res;
}

return $child;
}

posted @ 2021-03-11 10:40  阿辉很努力  阅读(54)  评论(0)    收藏  举报