在PHP中,可以使用递归函数来生成树形列表。以下是一个示例代码:
function buildTree($data, $parentId = 0, $level = 0) {
$tree = [];
foreach ($data as $item) {
if ($item['parent_id'] == $parentId) {
$item['level'] = $level;
$item['children'] = buildTree($data, $item['id'], $level + 1);
$tree[] = $item;
}
}
return $tree;
}
// 假设数据源为一个二维数组
$data = [
['id' => 1, 'name' => '节点1', 'parent_id' => 0],
['id' => 2, 'name' => '节点2', 'parent_id' => 1],
['id' => 3, 'name' => '节点3', 'parent_id' => 1],
['id' => 4, 'name' => '节点4', 'parent_id' => 2],
['id' => 5, 'name' => '节点5', 'parent_id' => 2],
['id' => 6, 'name' => '节点6', 'parent_id' => 3],
];
$tree = buildTree($data);
// 打印树形结构
function printTree($tree) {
foreach ($tree as $node) {
echo str_repeat(' ', $node['level']) . $node['name'] . "<br>";
if (!empty($node['children'])) {
printTree($node['children']);
}
}
}
printTree($tree);
上述代码中,buildTree函数用于构建树形结构,printTree函数用于打印树形结构。你可以根据实际需求修改数据源和输出格式。
下一篇:php 中default
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站