本文主要详细介绍了PHP递归实现层次树扩展的相关信息,有需要的朋友可以参考一下。效果图:实施代码:& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)$ db = M
本文主要详细介绍了PHP递归实现层次树扩展的相关信息,有需要的朋友可以参考一下。
效果图:
实施代码:
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
$ db = MySQL _ connect(‘本地主机’, ‘root & # 8217, ‘root & # 8217)或者死(‘能’t连接到数据库’);
MySQL _ select _ db(‘测试’)或者死(‘能’t查找数据库:test & # 8217);
$ result = MySQL _ query(‘从树中选择id、fid、名称’);
while($ arr = MySQL _ fetch _ array($ result)){
$data[] =数组(
‘id & # 8217= & gt$ arr[‘id & # 8217],
‘fid & # 8217= & gt$ arr[‘fid & # 8217],
‘姓名’= & gt$ arr[‘姓名’],
);
}
//只需按照缩进排列数据,如图1所示。
函数data2arr($tree,$rootId = 0,$level = 0) {
foreach($tree as $leaf) {
if($leaf[‘fid & # 8217] == $rootId) {
echo str _ repeat(‘‘,$level)。$ leaf[‘id & # 8217] .‘‘。$ leaf[‘姓名’] .‘& ltbr/>;’;
foreach($tree as $l) {
如果($ l[‘fid & # 8217]= = $ leaf[‘id & # 8217]) {
data 2 arr($tree,$leaf[‘id & # 8217],$ level+1);
打破;
}
}
}
}
}
data 2 arr($ data);
回声‘& ltbr/>;———————————————————————–& ltbr/>;’;
//按照隶属关系封装数据,如图2所示。
函数arr2tree($tree,$rootId = 0) {
$ return = array();
foreach($tree as $leaf) {
if($leaf[‘fid & # 8217] == $rootId) {
foreach($tree as $subleaf) {
if($subleaf[‘fid & # 8217]= = $ leaf[‘id & # 8217]) {
$ leaf[‘儿童’] = arr2tree($tree,$ leaf[‘id & # 8217]);
打破;
}
}
$ return[]= $ leaf;
}
}
return $ return
}
$ tree = arr 2 tree($ data);
print _ r($ tree);
回声‘& ltbr/>;———————————————————————–& ltbr/>;’;
//使用HTML再次显示数据,如图3所示。
功能树2html($tree) {
回声‘& ltul & gt’;
foreach($tree as $leaf) {
回声‘& lt李& gt’。$ leaf[‘姓名’];
如果(!empty empty($leaf[‘儿童’]))tree 2 html($ leaf[‘儿童’]);
回声‘& lt/李& gt’;
}
回声‘& lt/ul >’;
}
tree 2 html($ tree);
总结:以上是本文的全部内容,希望对大家的学习有所帮助。
相关建议:
Php实现了通过文件头判断格式的方法
php时间函数的使用及实例分析
PHP参考返回使用示例的详细信息。
以上是PHP递归实现层次树扩展方法的详细内容。更多请关注其他相关文章!