10行代码搞定无限级分类正常输出效率极高.docVIP

10行代码搞定无限级分类正常输出效率极高.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10行代码搞定无限级分类正常输出效率极高

10行代码搞定 无限级分类 正常输出 效率极高 超级无限分类 使用简单 效率极高 核心代码10行不到 另外 求这个分类的不足,和更高效简单的无限分类方法 ^_^ 效果图 核心代码如下 class Tool static public $treeList array ; //存放无限分类结果如果一页面有多个无限分类可以使用 Tool::$treeList array ; 清空 /** * 无限级分类 * @access public * @param Array $data //数据库里获取的结果集 * @param Int $pid * @param Int $count //第几级分类 * @return Array $treeList */ static public function tree $data,$pid 0,$count 1 foreach $data as $key $value if $value[Pid] $pid $value[Count] $count; self::$treeList [] $value; unset $data[$key] ; self::tree $data,$value[Id],$count+1 ; return self::$treeList ; $treeList[] 保存排序的结果 基本就是进行了一次排序 保存后就可以 unset $data[$key] ; 掉 因为已经使用不到了 $data 使用按地址传参,结合unset $data[$key] ; 减少循环次数,这样效率提高了好几倍, 但需要对 Pid进行 ASC的排序 不然会显示不完全 $value[Count] $count; 为当前的等级 在模板里会通过等级进行生成树形结构 排序前后的数据结构如下 表所需要字段 Id,Pid 排序前的数据结构 id   pid 1    0 2    0 3    1 4 3 排序后的数据结构 id  pid  count 1   0    1 3   1   2 4   3    3 2   0   1 //默认列表 public function index $menu M Menu ; $list $menu- order Pid ASC,Morder DESC,Id ASC - select ; $this- assign List,Tool::tree $list ; $this- display ; 控制器里调用 td style text-indent: $vo[Count]*20 px; neq name vo.Count value 1 | -- $vo.Name 模板使用里 正常输出即可 把需要生成树结构的字段 修改成如上 刚学ThinkPHP二个星期 第一次发代码 嘿嘿

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档