1.递归函数: 实现无限级分类列表
# 形式1:实现无限级分类列表
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;
    }
}
# 形式2:无限分类-权限
if (!function_exists('tree')) {
    function tree($cate , $lefthtml = '|— ' , $pid=0 , $lvl=0 )
    {
        $arr = array();
        foreach ($cate as $v){
            if($v['pid'] == $pid){
                $v['level']         = $lvl + 1;
                $v['left_html']     = str_repeat($lefthtml,$lvl);
                $v['left_catename'] = $v['left_html'].$v['cate_name'];
                $arr[]=$v;
                $arr= array_merge($arr, tree($cate, $lefthtml, $v['id'], $lvl+1 ));
            }
        }
        return $arr;
    }
}2.引用方式实现: 父子级树状结构
// 父子级树状结构
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'] : [];
    }
} 智享笔记
								    智享笔记								 
                             
                             
                             
                            