php无限级分类

使用递归方法,遍历子类,对数据进行重新排序,使用level进行无限级分类 

    /**
     * 功能:无限级分类
     * 参数:$data 类别查询结果集
     * 返回值:$arr 排序后的数组
     */
    public function getCateTree($data) {
        $arr = $this->cateSort($data);
        return $arr;
    }

    /**
     * 功能:无限级分类排序
     * 参数:$data 类别查询结果集
     * 返回值:$arr 递归查询排序后的数组
     */
    public function cateSort($data,$pid=0,$level=0) {
        static $arr = array();
        foreach($data as $k => $v) {
            if($v['pid'] == $pid) {
                $arr[$k] = $v;
                $arr[$k]['level'] = $level + 1;
                $this->cateSort($data,$v['id'],$level+1);
            }
        }
        return $arr;
    }

 

posted @ 2017-11-25 15:11  huohuohiahia  阅读(2315)  评论(0编辑  收藏  举报