有两种方法可以在 php 中创建树状结构图:使用嵌套循环或使用递归。嵌套循环方法创建一个数组来存储节点和它们之间的关系,然后遍历数组以生成树状结构图。递归方法使用一个递归函数,根据节点的深度生成缩进,并遍历其子节点以生成子节点的树状结构图。
如何使用 PHP 创建树状结构图
PHP 中有多种方法可以创建树状结构图,本文将介绍两种最常用的方法:使用嵌套循环和使用递归。
方法 1:嵌套循环
- 创建一个数组来存储树状结构,数组中每个元素都代表一个节点。
- 对于每个节点,查找并存储其父节点和子节点的索引。
- 使用嵌套循环遍历数组,并根据父节点和子节点的索引生成树状结构图。
示例代码:
$nodes = [ [ 'id' => 1, 'parent_id' => null, 'children' => [2, 3] ], [ 'id' => 2, 'parent_id' => 1, 'children' => [] ], [ 'id' => 3, 'parent_id' => 1, 'children' => [] ], ]; function createTree($nodes) { $tree = '
登录后复制
- ‘;
- ‘ . $node[‘id’];
if (!empty($node[‘children’])) {
$tree .= createTree($node[‘children’]);
}
$tree .= ‘
foreach ($nodes as $node) {
$tree .= ‘
‘;
}
$tree .= ‘
‘;
return $tree;
}
echo createTree($nodes);
方法 2:递归
- 创建一个递归函数,该函数将生成树状结构图的 HTML。
- 在递归函数中,根据节点的深度生成缩进。
- 遍历节点的子节点,并使用递归函数生成子节点的树状结构。
示例代码:
function createTree($nodes, $depth = 0) { $tree = ''; foreach ($nodes as $node) { $tree .= '
登录后复制
‘;
if (!empty($node[‘children’])) {
$tree .= createTree($node[‘children’], $depth + 1);
}
}
return $tree;
}
$nodes = [
[
‘id’ => 1,
‘parent_id’ => null,
‘children’ => [2, 3]
],
[
‘id’ => 2,
‘parent_id’ => 1,
‘children’ => []
],
[
‘id’ => 3,
‘parent_id’ => 1,
‘children’ => []
],
];
echo createTree($nodes);
以上就是php如何写树状结构图的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:牧草,转转请注明出处:https://www.dingdanghao.com/article/680000.html