介绍
这期内容当中小编将会给大家带来有关如何在PHP中利用递归实现一个层级树状展开效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
实现代码:
& lt; ? php ,, db 美元;=,mysql_connect (& # 39; localhost # 39;,, & # 39;根# 39;,,& # 39;根# 39;),或是死(& # 39;可以\ & # 39;t connect 用数据库,),, mysql_select_db(& # 39;测试# 39;),或是死(& # 39;可以\ & # 39;t find database :,测试# 39;),, result 美元;=,mysql_query (& # 39; select id, fid,, name 得到树# 39;),, 而(arr 美元;=,mysql_fetch_array(结果)美元){, $ data[],才能=,阵列(, ,,,& # 39;id # 39;,=祝辞,arr美元[& # 39;id # 39;),,, ,,,& # 39;支撑材# 39;,=祝辞,arr美元[& # 39;支撑材# 39;),, ,,,& # 39;名字# 39;,=祝辞,arr美元[& # 39;名字# 39;),,, ,,); }, ,,//,将数据按照缩进简单排列,见图1, function data2arr(树,美元,美元rootId =, 0,, level 美元;=,0),{, foreach才能(tree 美元;as 叶美元),{, ,,,如果(叶美元[& # 39;支撑材# 39;],==,rootId美元),{, ,,,,,echo 函数(& # 39;,,,,,,,,& # 39;,,美元级别),只叶美元[& # 39;id # 39;],只& # 39;,& # 39;,只美元叶(& # 39;名字# 39;],只& # 39;& lt; br/祝辞& # 39;,, ,,,,,foreach (tree 美元;as $ l), {, ,,,,,,,如果(l美元[& # 39;支撑材# 39;],==,叶美元[& # 39;id # 39;]), {, ,,,,,,,,,data2arr(树,美元,美元叶(& # 39;id # 39;],, level 美元;+,1),, ,,,,,,,,,休息,, ,,,,,,,}, ,,,,,}, ,,,}, ,,}, }, ,, data2arr(元数据),, echo & # 39; & lt; br/祝辞- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - & lt; br/祝辞& # 39;,, ,,//,将数据按照所属关系封装,见图2, function arr2tree(树,美元,美元rootId =, 0), {, 时间=美元才能return 数组();, foreach才能(tree 美元;as 叶美元),{, ,,,如果(叶美元[& # 39;支撑材# 39;],==,rootId美元),{, ,,,,,foreach (tree 美元;as  subleaf美元),{, ,,,,,,,如果(subleaf美元[& # 39;支撑材# 39;],==,叶美元[& # 39;id # 39;]), {, ,,,,,,,,,叶美元[& # 39;孩子# 39;],=,arr2tree($树,叶子美元[& # 39;id # 39;]),, ,,,,,,,,,休息,, ,,,,,,,}, ,,,,,}, ,,,,,返回[],美元=,叶;美元, ,,,}, ,,}, return 才能;美元回报, }, ,, $ tree =, arr2tree(元数据),, print_r(树),, echo & # 39; & lt; br/祝辞- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - & lt; br/祝辞& # 39;,, ,,//,将数据使用HTML再次展现,见图3, function tree2html(树),{, echo 才能;& # 39;& lt; ul> & # 39;;, foreach才能(tree 美元;as 叶美元),{, ,,,echo & # 39; & lt; li> & # 39;,叶美元。[& # 39;名字# 39;];, ,,,如果(!,emptyempty(叶美元[& # 39;孩子# 39;])),tree2html(叶美元[& # 39;孩子# 39;]),, ,,,echo & # 39; & lt;/li> & # 39;;, ,,}, echo 才能;& # 39;& lt;/ul> & # 39;;, }, ,, tree2html树($);
上述就是小编为大家分享的如何在PHP中利用递归实现一个层级树状展开效果了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。