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; } } ?>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!