tp5中返回-无限极分类-父子级树状结构 --函数

tp5中返回-无限极分类-父子级树状结构 --函数

1.在公共common.php中添加函数

// 应用公共文件

if (!function_exists('get_cate_list')) {

    //递归函数 实现无限级分类列表

    function get_cate_list($list,$pid=0,$level=0) {
        static $tree = array();
        foreach($list as $row) {
            if($row['pid']==$pid) {
                $row['level'] = $level;
                $tree[] = $row;
                get_cate_list($list, $row['id'], $level + 1);
            }
        }
        return $tree;
    }
}



if(!function_exists('get_tree_list')){

    //引用方式实现 父子级树状结构

    function get_tree_list($list){

    //将每条数据中的id值作为其下标

        $temp = [];
        foreach($list as $v){
            $v['son'] = [];
            $temp[$v['id']] = $v;
        }

        //获取分类树

        foreach($temp as $k=>$v){
            $temp[$v['pid']]['son'][] = &$temp[$v['id']];
        }
        return isset($temp[0]['son']) ? $temp[0]['son'] : [];
    }
}

 2.使用

//先转换为二维数组

$list = (new \think\Collection($list))->toArray();

//使用封装的get_cate_list递归函数重新排序 无限级分类列表

$list = get_cate_list($list);

猜你喜欢

转载自blog.csdn.net/weixin_45557228/article/details/112003446