位置:  首页 -> 编程语言 -> PHP -> php递归实现树状无限极分类

php递归实现树状无限极分类

先来个效果图



递归方法

/**
     * [递归无限极分类树]
     * @param  [array] $arr[被分类数组]
     * @param  [int] $PID [栏目父id,递归+1]
     * @param  [int] $level [分类树层级,递归+1]
     * @param  [string] $type [图片的类型]
     * @return [array]
     */
function getTree($arr, $PID = 0, $level = 0){
    static $list = [];
    foreach ($arr as $k => $v) {
        if ($v['pid'] == $PID) {
            $v['level'] = $level;
            //str_repeat 把字符串重复指定的次数
            $v["cate_name"] = str_repeat('        ', $level) . '|----' . $v["cate_name"];
            $list[] = $v;
            //移除该项,减少后续递归消耗
            unset($arr[$k]);
            getTree($arr, $v["id"], $level + 1);
        }
    }
    return $list;
}
到底了 0

相关阅读