Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php树形查询?(php树形列表)

作者:洮娦ゞ   发布日期:2025-10-03   浏览:147

在PHP中实现树形查询或树形列表可以使用递归算法来实现。以下是一个示例代码:

// 定义一个多维数组作为示例数据
$data = array(
    array('id' => 1, 'name' => '节点1', 'parent_id' => 0),
    array('id' => 2, 'name' => '节点2', 'parent_id' => 0),
    array('id' => 3, 'name' => '节点1.1', 'parent_id' => 1),
    array('id' => 4, 'name' => '节点1.1.1', 'parent_id' => 3),
    array('id' => 5, 'name' => '节点2.1', 'parent_id' => 2),
    array('id' => 6, 'name' => '节点2.2', 'parent_id' => 2),
    array('id' => 7, 'name' => '节点1.2', 'parent_id' => 1),
);

// 定义一个递归函数来生成树形结构
function buildTree($data, $parentId = 0) {
    $tree = array();
    foreach ($data as $item) {
        if ($item['parent_id'] == $parentId) {
            $children = buildTree($data, $item['id']);
            if (!empty($children)) {
                $item['children'] = $children;
            }
            $tree[] = $item;
        }
    }
    return $tree;
}

// 调用函数生成树形结构
$tree = buildTree($data);

// 输出树形结构
function printTree($tree, $level = 0) {
    foreach ($tree as $node) {
        echo str_repeat('-', $level) . $node['name'] . "\n";
        if (isset($node['children'])) {
            printTree($node['children'], $level + 1);
        }
    }
}

printTree($tree);

上述代码中,我们首先定义了一个多维数组作为示例数据,每个节点包含id、name和parent_id属性。然后我们定义了一个递归函数buildTree,该函数通过递归的方式生成树形结构。最后,我们调用buildTree函数生成树形结构,并通过printTree函数输出树形结构。

运行以上代码,将会输出如下树形结构:

节点1
-节点1.1
--节点1.1.1
-节点1.2
节点2
-节点2.1
-节点2.2

这是一个简单的树形结构示例,你可以根据实际需求对代码进行修改和扩展。

上一篇:php中指定查询字段(php实现简单的查询功能)

下一篇:对数组进行循环+php(循环数组的方法及区别)

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php+mysql动态网站开发

php 三元表达式

php文件加密

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站