首页 > php教程 > php手册 > 正文

无限级网站栏目-获取树形结构函数

WBOY
发布: 2016-06-07 11:41:52
原创
1373 人浏览过

如果网站采用了无限级栏目结构,我们可以将网站所有栏目获取出来组成一个树形结构。
时隔一年,我发现这种写法确实很幼稚啊!Onethink的写法很好,建议大家看一下!
思路就是先一次性select查询,然后用一个函数转为树形数组!
--------------------------------------------------------------------------
数据库结构:

无限级网站栏目-获取树形结构函数
函数代码:
//获得指定文章分类的子分类组成的树形结构<br> function cateTree($pid=0,$level=0){<br>     $cate=M('cate');<br>     $array=array();<br>     $tmp=$cate->where("pid='%d'",$pid)->select();<br>     if(is_array($tmp)){<br>         foreach($tmp as $v){<br>             $v['level']=$level;<br>             $array[count($array)]=$v;<br>             $sub=cateTree($v['id'],$level+1);<br>             if(is_array($sub))$array=array_merge($array,$sub);<br>         }<br>     }<br>     return $array;<br> }效果[print_r(cateTree(0))]:
Array
(
[0] => Array
(
[id] => 1
[catename] => 测试分类
[pid] => 0
[status] => 0
[level] => 0
)

[1] => Array
(
[id] => 5
[catename] => 二级分类
[pid] => 1
[status] => 0
[level] => 1
)

[2] => Array
(
[id] => 7
[catename] => 三级分类2
[pid] => 5
[status] => 0
[level] => 2
)

[3] => Array
(
[id] => 2
[catename] => 测试分类
[pid] => 0
[status] => 0
[level] => 0
)

[4] => Array
(
[id] => 4
[catename] => 又来测试
[pid] => 0
[status] => 0
[level] => 0
)

[5] => Array
(
[id] => 6
[catename] => 二级分类二
[pid] => 4
[status] => 0
[level] => 1
)

[6] => Array
(
[id] => 8
[catename] => 三级测试
[pid] => 6
[status] => 0
[level] => 2
)

)
其中level表示其层级。
格式化输出效果:

无限级网站栏目-获取树形结构函数

AD:真正免费,域名+虚机+企业邮箱=0元

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!