php递归函数的递归层级 php递归算法经典实例

本文主要详细介绍了PHP递归实现层次树扩展的相关信息,有需要的朋友可以参考一下。效果图:实施代码:& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)$ db = M

本文最后更新时间:  2023-02-25 17:04:13

本文主要详细介绍了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递归实现层次树扩展方法的详细内容。更多请关注其他相关文章!

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。