php多级树形菜单代码
树形菜单是很多应用中会碰到的一个算法,下文小编就为大家介绍php树形菜单实现方法。
数据库结果

打印如下
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"
}
}结果:
php多级树形菜单代码
打印如下:
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 .= "<li>{$t['fzname']}</li>";
}
else
{
$html .= "<li>".$t['fzname'];
$html .= $this->procHtml($t['pid']);
$html = $html."</li>";
}
}
return $html ? '<ul>'.$html.'</ul>' : $html ;
} 本文地址:http://www.phprm.com/code/68067.html
转载随意,但请附上文章地址:-)