无限极分类
无限级分类
public function unlimitedForlevel($cate,$html="--",$pid=0,$level){// 接收参数,并进行处理
$arr=array();
foreach($cate as $v){
if($v['pid']==$pid){ //
$v['level']=$level+1;
$v['html']=str_repeat($html,$level);//将字符串复制$level次数
$arr[]=$v;
$arr=array_merge($arr,self::unlimitedForlevel($cate,$html,$v['id'],$level+1));
}
}
return $arr;
}
public function unlimitedForLayer ($cate,$name='child',$pid=0){ //无限极分类的多维数组方法
$arr=array();
foreach($cate as $v){
if($v['pid']==$pid){
$v[$name]=self::unlimitedForLayer($cate,$v['id']);
$arr[]=$v;
}
}
return $arr;
}
}
传递一个子分类id返回所有的父级分类
public function getParents($cate,$id){
$arr=array();
foreach($cate as $v){
if($v['id']==$id){
$arr[]=$v;
$arr=array_merge($arr,self::getParents($cate,$v['pid']));
}
}
return $arr;
}
传递一个父级分类id返回所有的子分类id
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;
}