树形菜单是很多应用中会碰到的一个算法,下文小编就为大家介绍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尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)