相信在实际项目中很多人在做项目的时候都会用到无限级分类,无限级分类说白了就是一个递归,递归在我们的项目开发中起到很重要的作用,如:面包屑导航等。下面我们演示一个递归的案例:
$area = array(
array('id'=>1,'name'=>'安徽','parent'=>0),
array('id'=>2,'name'=>'海淀','parent'=>7),
array('id'=>3,'name'=>'濉溪县','parent'=>5),
array('id'=>4,'name'=>'昌平','parent'=>7),
array('id'=>5,'name'=>'淮北','parent'=>1),
array('id'=>6,'name'=>'朝阳','parent'=>7),
array('id'=>7,'name'=>'北京','parent'=>0),
array('id'=>8,'name'=>'上地','parent'=>2)
);
function tree($arr,$id) {
print_r($this->tree());
$tree = array();
foreach($arr as $v) {
if($v['id'] == $id) { // 判断要不要找父栏目
if($v['parent'] > 0) { // parnet>0,说明有父栏目
$tree = array_merge($tree,familytree($arr,$v['parent']));
}
$tree[] = $v;
}
}
return $tree;
}