温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

thinkphp中怎么实现一个无限分类

发布时间:2021-08-07 17:10:04 来源:亿速云 阅读:142 作者:Leah 栏目:web开发

今天就跟大家聊聊有关thinkphp中怎么实现一个无限分类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

function getSonLists($upid=0,$space=''){

    $icon = array(
        '      │',
        '      ├─',
        '      └─'
    );  //格式化的字符
    $category_type = $this->category_type;

    $map['up_id'] = array('eq',$upid);
    // $map['id'] = array('neq',1);
    $lists = M('Category')->where($map)->field('id,catname,up_id,status,sort,model_id,path,type')->order('sort asc,id asc')->select();
    $n = count($lists);
    $cat_all = array();
    if($n){
        $m=1;
        for($i=0;$i<$n;$i++){
            if($n==$m){//只有一个子栏目/最后一个栏目
                $pre = $icon[2];
            }else{
                $pre = $icon[1];
            }
                $pad = $space ? $icon[0] : "";
            $lists[$i]['name']=($space ? $space.$pre : "").$lists[$i]['catname'];
            $cat_all[]=$lists[$i];
            $cat_bbb=$this->getSonLists($lists[$i]['id'], $space.$pad." "); //递归下一级分类
            if(count($cat_bbb)){//包含子栏目 合并
                $cat_all=array_merge($cat_all,$cat_bbb);
            }
            $m++;
        }
    }

    return $cat_all;
}

看完上述内容,你们对thinkphp中怎么实现一个无限分类有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI