php递归实现无限级分类

来源:互联网 发布:安达渡嘉 知乎 编辑:程序博客网 时间:2024/06/05 14:43

1、递归组合多维数组

<?php$a=array(        0=>array('id'=>1,'title'=>'首页','pid'=>'0'),        1=>array('id'=>2,'title'=>'技术','pid'=>'0'),        2=>array('id'=>3,'title'=>'PHP','pid'=>'2'),        3=>array('id'=>4,'title'=>'Linux','pid'=>'2'),        4=>array('id'=>5,'title'=>'关于','pid'=>'0'),);function digui($arr,$sid=0){$res=array();foreach($arr as $k=>$v) { if($v['pid']==$sid){ $v['child']=digui($arr,$v['id']); $res[]=$v; }}    return $res;}print_r(digui($a));

2、递归组合一维数组

function digui2($arr,$html='--',$aid=0,$level=0){$result=array();foreach ($arr as $k => $v) {if($v['pid']==$aid){$v['level']=$level+1;  $v['html']=str_repeat($html,$level);$result[]=$v;$result=array_merge($result,digui2($arr,$html,$v['id'],$level+1));}}return $result;}print_r(digui2($a));

原创粉丝点击