PHP 无限级分类
有一段时间没用过无限极分类,不巧今天又用到,所以特地去翻箱回顾以前。为了避免以后找起来麻烦,特地贴在这里。
unlimitedForLevel($cate,$html,$v['id'],$level+1));
}
}
return$arr;
}
/**
*返回多维数组
*@param[type]$cate要递归的数组
*@paramstring$name子级分类在父分类数组中的key
*@paraminteger$pid父级分类ID。默认为0,表示顶级分类
*@return[type][description]
*/
staticpublicfunctionunlimitedForlayer($cate,$name='child',$pid=0){
$arr=array();
foreach($cateas$v){
if($v['pid']==$pid){
$v[$name]=self::unlimitedForlayer($cate,$name,$v['id']);
$arr[]=$v;
}
}
return$arr;
}
/**
*传递子分类ID返回所有父级分类
*@param[type]$cate要递归的数组
*@param[type]$id子分类ID
*@return[type][description]
*/
staticpublicfunctiongetParents($cate,$id){
$arr=array();
foreach($cateas$v){
if($v['id']==$id){
$arr[]=$v;
$arr=array_merge(self::getParents($cate,$v['pid']),$arr);
}
}
return$arr;
}
/**
*传递父级分类ID返回所有子分类ID
*@param[type]$cate要递归的数组
*@param[type]$pid父级分类ID
*@return[type][description]
*/
staticpublicfunctiongetChildrenId($cate,$pid){
$arr=array();
foreach($cateas$v){
if($v['pid']==$pid){
$arr[]=$v['id'];
$arr=array_merge($arr,self::getChildrenId($cate,$v['id']));
}
}
return$arr;
}
/**
*传递父级分类ID返回所有子级分类
*@param[type]$cate要递归的数组
*@param[type]$pid父级分类ID
*@return[type][description]
*/
staticpublicfunctiongetChildren($cate,$pid){
$arr=array();
foreach($cateas$v){
if($v['pid']==$pid){
$arr[]=$v;
$arr=array_merge($arr,self::getChildren($cate,$v['id']));
}
}
return$arr;
}
}
?>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西