php 生成树型
时间: 2023-07-26 12:12:44 浏览: 109
php数组生成树
您可以使用递归函数来生成树型结构,以下是一个示例代码:
```php
function generate_tree($data, $parent_id = 0, $level = 0) {
$tree = '';
foreach ($data as $item) {
if ($item['parent_id'] == $parent_id) {
// 输出节点
$tree .= str_repeat('-', $level) . $item['name'] . '<br>';
// 递归查找子节点
$tree .= generate_tree($data, $item['id'], $level + 1);
}
}
return $tree;
}
```
其中,`$data` 是原始数据数组,每个节点包含 `id`、`name` 和 `parent_id` 三个属性。`$parent_id` 是当前节点的父节点 ID,默认为 0。`$level` 表示当前节点的层级,用于控制缩进。函数返回一个 HTML 字符串,表示树型结构。
使用示例:
```php
$data = [
['id' => 1, 'name' => 'A', 'parent_id' => 0],
['id' => 2, 'name' => 'B', 'parent_id' => 1],
['id' => 3, 'name' => 'C', 'parent_id' => 1],
['id' => 4, 'name' => 'D', 'parent_id' => 2],
['id' => 5, 'name' => 'E', 'parent_id' => 2],
['id' => 6, 'name' => 'F', 'parent_id' => 3],
];
echo generate_tree($data);
```
输出结果:
```
A
-B
--D
--E
-C
--F
```
阅读全文