/*
*@pram $array 数组
*@pram $pid 子id
*@pram $level 等级 0 最顶级 以此类推
*/
function test($array,$pid=0,$level=0){
//定义数组存放找到的数据,静态防止覆盖
static $list=[];
foreach ($array as $key => $value) {
//判断,先找到顶级栏目
if($value['pid']==$pid){
//找到顶级栏目后加标识,最顶级level=0
$value['level']=$level;
//找到所需栏目保存到事先定义好的list数组中
$list[]=$value;
//然后销毁当前已找到的数据的key,避免下次重复递归,消耗资源
nuset($array[$key]);
//开始递归,找完pid=0,找pid=1的,level+1。以此类推。
test($array,$value['id'],$level+1);
}
}
return $list;
}
如对本文有疑问, 点击进行留言回复!!
php 使用 yansongda/pay 进行微信,支付宝支付
Codeforces Round #658 (Div. 2) (C1、C2)
van-uploader + thinkphp6.0 图片上传
网友评论