无限级分类三种方法
function sort($category,$parent_id=0,$level=0){
static $arr=array();
foreach($category as $k=>$v){
if($v["parent_id"]==$parent_id){
$v["level"]=$level;
$arr[]=$v;
unset($category[$k]);//已经排好等级的,从数组中移除,提高性能
$this->sort($category,$v["id"],$level+1);
}
}
return $arr;
}
function sort2($category,$parent_id=0,$level=0){
$res=array();
foreach($category as $c){
if($c["parent_id"]==$parent_id){
$c["level"]=$level;
$arr[]=$c;
$res=array_merge($arr,$this->sort($category,$c["id"],$level+1));
}
}
return $res;
}
/**
* 得到分类级数,并将他们的上下级关系,体现在返回数组中
* @param unknown $category
* @param number $parent_id
* @param number $level
* @return multitype:array
*/
function category($category,$parent_id=0,$level=0){
$arr=array();
foreach($category as $k=>$v){
if($v["parent_id"]==$parent_id){
$v["level"]=$level;
$v["child"]=$this->category($category,$v["id"],$level+1);
$arr[]=$v;
}
}
return $arr;
}声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: javascript动态添加无限级树状目录
- 下一篇: 通过nginx代理静态网页
