无限级分类三种方法
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代理静态网页