<?php Class Category{ //排序数组 static public function unlimitedForLevel($cate,$html=" --",$pid=0,$level=0){ $arr = array(); foreach($cate as $v){ if($v['pid'] == $pid){ $v['level'] = $level+1; $v['html'] = str_repeat($html,$level); $arr[] = $v; $arr = array_merge($arr,self::unlimitedForLevel($cate,$html,$v['id'],$level+1)); } } return $arr; } //组合数组 用于做导航栏 static public function unlimitedForLayer($cate,$name='child',$pid=0){ $arr = array(); foreach($cate as $v){ if($v['pid']==$pid){ $v['child'] = self::unlimitedForLayer($cate,$name,$v['id']); $arr[] = $v; } } return $arr; } //传递一个子分类ID获得父级目录 用户制作当前位置导航条 Static Public function getParents($cate,$id){ $arr = array(); foreach($cate as $v){ if($v['id']==$id){ $arr[] = $v; $arr = array_merge(self::getParents($cate,$v['pid']),$arr); } } return $arr; } //传递一个父级分类ID返回所有子分类ID Static Public function getChildsId($cate,$pid){ $arr = array(); foreach($cate as $v){ if($v['pid']==$pid){ $arr[] = $v['id']; $arr = array_merge($arr,self::getChildsId($cate,$v['id'])); } } return $arr; } //传递一个父类ID获得其所有子集分类 Static Public function getChilds($cate ,$pid){ $arr = array(); foreach($cate as $v){ if($v['pid']==$pid){ $arr[] = $v; $arr = array_merge($arr,self::getChilds($cate,$v['id'])); } } return $arr; } } ?>
转载于:https://www.cnblogs.com/huilange/p/4922363.html