热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

今天就跟大家聊聊有关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][&#39;name&#39;]=($space ? $space.$pre : "").$lists[$i][&#39;catname&#39;];
            $cat_all[]=$lists[$i];
            $cat_bbb=$this->getSonLists($lists[$i][&#39;id&#39;], $space.$pad." "); //递归下一级分类
            if(count($cat_bbb)){//包含子栏目 合并
                $cat_all=array_merge($cat_all,$cat_bbb);
            }
            $m++;
        }
    }

    return $cat_all;
}

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


推荐阅读
author-avatar
事过人空
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有