无限极分类+查找家谱树(面包屑导航)
//栏目无限极分类 public function getTree($arr,$id = 0,$lev = 0){ //存放结果数组 $tree = array(); //遍历栏目信息 foreach($arr as $v){ if($v['parent_id'] == $id){ $v['lev'] = $lev; $tree[] = $v; $tree = array_merge($tree,$this->getTree($arr,$v['cat_id'],$lev + 1)); } } //返回结果 return $tree; }
//查找家谱树 public function getFamilyTree($id = 0){ $tree = array(); $cats = $this->select(); while($id > 0){ foreach ($cats as $v) { if($v['cat_id'] == $id){ $tree[] = $v; $id = $v['parent_id']; break; } } } return array_reverse($tree); }