下面就是跟大家分享一下php中获取无限级内容的递归函数,在平时的开发中其实无限级还是挺常用的,例如无限级分类、无限级菜单和无限级评论等等,递归是解决这类情况的其中一种方法。下面用$data为需要递归处理的数据来做个例子:
function getTree($data,$pid = 0,$level = 0){
static $arr = array();
foreach ($data as $key=>$value){
if($value->pid == $pid){
$value->level = $level;
$arr[] = $value;
getTree($data,$value->id,$level+1);
}
}
return $arr;
}
上面就是将一维数组 d a t a 处 理 成 无 限 级 数 据 , 其 中 data处理成无限级数据,其中 data处理成无限级数据,其中pid就是父级id,$level就数据的级数是处理出来的数据还是一维数据,这样就方便前端模板输出了,另外它也是按第一父级元素来赋值的,所以返回的数据也满足无限级的顺序,拿到数组后直接在视图上显示就可以了。