树形菜单是很多应用中会碰到的一个算法,下文小编就为大家介绍php树形菜单实现方法。
<script>ec(2);</script>
数据库结果

打印如下:
代码如下 | 复制代码 |
array(7) { [0] => array(5) { ["id"] => string(1) "4" ["fzname"] => string(12) "山猫小号" ["userid"] => string(2) "12" ["pid"] => string(1) "0" ["time"] => string(10) "1413359977" } [1] => array(5) { ["id"] => string(1) "5" ["fzname"] => string(12) "山猫一组" ["userid"] => string(2) "12" ["pid"] => string(1) "4" ["time"] => string(10) "1413361206" } [2] => array(5) { ["id"] => string(1) "6" ["fzname"] => string(12) "山猫二组" ["userid"] => string(2) "12" ["pid"] => string(1) "4" ["time"] => string(10) "1413361225" } [3] => array(5) { ["id"] => string(1) "7" ["fzname"] => string(15) "山猫一组子" ["userid"] => string(2) "12" ["pid"] => string(1) "5" ["time"] => string(10) "1413361388" } [4] => array(5) { ["id"] => string(1) "8" ["fzname"] => string(15) "山猫一组子" ["userid"] => string(2) "12" ["pid"] => string(1) "5" ["time"] => string(10) "1413361409" } [5] => array(5) { ["id"] => string(1) "9" ["fzname"] => string(16) "山猫一组子3" ["userid"] => string(2) "12" ["pid"] => string(1) "5" ["time"] => string(10) "1413361460" } [6] => array(5) { ["id"] => string(2) "10" ["fzname"] => string(15) "山猫二组子" ["userid"] => string(2) "12" ["pid"] => string(1) "6" ["time"] => string(10) "1413361506" } } |
结果:

打印如下:
代码如下 | 复制代码 |
array(1) { [0] => array(5) { ["id"] => string(1) "4" ["fzname"] => string(12) "山猫小号" ["userid"] => string(2) "12" ["pid"] => array(2) { [0] => array(5) { ["id"] => string(1) "5" ["fzname"] => string(12) "山猫一组" ["userid"] => string(2) "12" ["pid"] => array(3) { [0] => array(5) { ["id"] => string(1) "7" ["fzname"] => string(15) "山猫一组子" ["userid"] => string(2) "12" ["pid"] => string(0) "" ["time"] => string(10) "1413361388" } [1] => array(5) { ["id"] => string(1) "8" ["fzname"] => string(15) "山猫一组子" ["userid"] => string(2) "12" ["pid"] => string(0) "" ["time"] => string(10) "1413361409" } [2] => array(5) { ["id"] => string(1) "9" ["fzname"] => string(16) "山猫一组子3" ["userid"] => string(2) "12" ["pid"] => string(0) "" ["time"] => string(10) "1413361460" } } ["time"] => string(10) "1413361206" } [1] => array(5) { ["id"] => string(1) "6" ["fzname"] => string(12) "山猫二组" ["userid"] => string(2) "12" ["pid"] => array(1) { [0] => array(5) { ["id"] => string(2) "10" ["fzname"] => string(15) "山猫二组子" ["userid"] => string(2) "12" ["pid"] => string(0) "" ["time"] => string(10) "1413361506" } } ["time"] => string(10) "1413361225" } } ["time"] => string(10) "1413359977" } } |
工用到两个函数1生成树形代码:
代码如下 | 复制代码 |
function getTree($data, $pId) { $tree = ''; foreach($data as $k => $v) { if($v['pid'] == $pId) { $v['pid'] = $this->getTree($data, $v['id']); $tree[] = $v; //unset($data[$k]); } } return $tree; } |
函数2转化为html代码:
代码如下 | 复制代码 |
function procHtml($tree) { $html = ''; foreach($tree as $t) { if($t['pid'] == '') { $html .= " } else { $html .= " $html .= $this->procHtml($t['pid']); $html = $html." } } return $html ? '
} |
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前ByDDD
如何修复KB5055523无法在Windows 11中安装?
2 周前ByDDD
Inzoi:如何申请学校和大学
3 周前ByDDD
如何修复KB5055518无法在Windows 10中安装?
2 周前ByDDD
Roblox:Dead Rails - 如何召唤和击败Nikola Tesla
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版
SublimeText3 Linux最新版