PHP thinkphp 后台组装成无限极分类,组装成树状结构

 

1、调取出的树状分类,id和pid有关联逻辑

 

2、function.php 方法

/*
 * === 无限极分类 生成树形数组 ===
 * $list 一维数组类型,id和pid需有逻辑关联
 * $root=0  意思是pid等于零代表一级结构
 *
 * 开发时间:
 * 2020-08-18
 *
 * 开发者:
 * 遇事稳坐钓鱼台 https://www.cnblogs.com/zc290987034
 * */
function make_tree($list,$root=0){
    $tree = array();
    $packData = array();
    //将所有的分类id作为数组key
    foreach ($list as $k => $v) {
        $packData[$v['id']] = $v;
    }
    //利用引用,将每个分类添加到父类child数组中,这样一次遍历即可形成树形结构。
    foreach ($packData as $key => $val) {
        if ($val['pid'] == $root) {//代表跟节点
            $tree[] = &$packData[$key];
        } else {
            //找到其父类
            $packData[$val['pid']]['child'][] = &$packData[$key];
        }
    }
    return $tree;
}

 

3、处理后的效果

 

 

posted @ 2020-08-19 18:07  遇事稳坐钓鱼台  阅读(753)  评论(0编辑  收藏  举报