时间:2021-05-26
本文实例为大家分享了PHP递归实现层级树状展开的主要代码,供大家参考,具体内容如下
效果图:
实现代码:
<?php $db = mysql_connect('localhost', 'root', 'root') or die('Can\'t connect to database'); mysql_select_db('test') or die('Can\'t find database : test'); $result = mysql_query('select id, fid, name from tree'); while($arr = mysql_fetch_array($result)){ $data[] = array( 'id' => $arr['id'], 'fid' => $arr['fid'], 'name' => $arr['name'], ); } // 将数据按照缩进简单排列 见图1 function data2arr($tree, $rootId = 0, $level = 0) { foreach($tree as $leaf) { if($leaf['fid'] == $rootId) { echo str_repeat(' ', $level) . $leaf['id'] . ' ' . $leaf['name'] . '<br/>'; foreach($tree as $l) { if($l['fid'] == $leaf['id']) { data2arr($tree, $leaf['id'], $level + 1); break; } } } } } data2arr($data); echo '<br/>-----------------------------------------------------------------------<br/>'; // 将数据按照所属关系封装 见图2 function arr2tree($tree, $rootId = 0) { $return = array(); foreach($tree as $leaf) { if($leaf['fid'] == $rootId) { foreach($tree as $subleaf) { if($subleaf['fid'] == $leaf['id']) { $leaf['children'] = arr2tree($tree, $leaf['id']); break; } } $return[] = $leaf; } } return $return; } $tree = arr2tree($data); print_r($tree); echo '<br/>-----------------------------------------------------------------------<br/>'; // 将数据使用HTML再次展现 见图3 function tree2html($tree) { echo '<ul>'; foreach($tree as $leaf) { echo '<li>' .$leaf['name']; if(! emptyempty($leaf['children'])) tree2html($leaf['children']); echo '</li>'; } echo '</ul>'; } tree2html($tree);以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
实现树状结构的两种方法1。递归法递归是指在函数中显式的调用它自身。利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其
1.递归查找树状目录复制代码代码如下:publicpartialclassForm1:Form{stringpath=@"F:\学习文件";//递归查找树状目录
今天主要介绍一下使用递归来按层级查找数据。原理挺简单的,主要是通过父级id一级一级的循环查找子级,使用PHP循环代码也很容易实现,不过如果层级越多,PHP重复代
excel表格中想要插入树状图,树状图一般用来表示数据按层级组成关系。它通过矩形的面积、颜色和排列来显示数据关系,该怎么制作树状图呢?下面我们就来看看详细的教程
本文实例讲述了基于递归实现的php树形菜单代码。分享给大家供大家参考。具体实现方法如下:开发电子商务网站的时候,做了这个显示树形菜单的功能,用的递归实现的PHP