117.info
人生若只如初见

php递归怎么实现无限极分类

以下是一个使用PHP递归实现无限极分类的示例:

function buildTree($arr, $parentId = 0) {
    $tree = array();
    
    foreach ($arr as $item) {
        if ($item['parent_id'] == $parentId) {
            $children = buildTree($arr, $item['id']);
            if ($children) {
                $item['children'] = $children;
            }
            $tree[] = $item;
        }
    }
    
    return $tree;
}

// 示例数据
$data = https://www.yisu.com/ask/array('id' => 1, 'name' => 'Category 1', 'parent_id' => 0),
    array('id' => 2, 'name' => 'Category 1.1', 'parent_id' => 1),
    array('id' => 3, 'name' => 'Category 1.2', 'parent_id' => 1),
    array('id' => 4, 'name' => 'Category 1.2.1', 'parent_id' => 3),
    array('id' => 5, 'name' => 'Category 2', 'parent_id' => 0),
    array('id' => 6, 'name' => 'Category 2.1', 'parent_id' => 5),
    array('id' => 7, 'name' => 'Category 2.1.1', 'parent_id' => 6),
);

$tree = buildTree($data);
var_dump($tree);

在这个示例中,buildTree 函数接收一个包含分类数据的数组和一个父分类的ID作为参数。它会遍历数组中的每个分类,如果发现某个分类的 parent_id 等于给定的父分类ID,则递归地将该分类添加到其父分类的 children 属性中,并将其加入到返回的树中。

最后,通过调用 buildTree 函数并传入示例数据,我们可以得到一个无限级分类的树形结构。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fedfaAzsICAZfAlM.html

推荐文章

  • php中global的使用方法是什么

    在 PHP 中,global 关键字用于在函数内部访问全局变量。通过使用 global 关键字,我们可以在函数内部引用全局作用域中的变量,而不是创建函数内部的局部变量。

  • PHP怎么创建一个新的目录

    要在PHP中创建一个新的目录,可以使用mkdir()函数。以下是一个示例代码:
    $dir = 'new_directory'; if (!file_exists($dir)) { mkdir($dir, 0777, true); e...

  • php的foreach循环语句有哪些特点

    foreach循环用于遍历数组或者对象的属性。
    foreach循环只能用于数组和对象,不能用于字符串或者数字类型。
    foreach循环语句比普通的for循环语句更简洁...

  • php分页查询功能怎么实现

    要实现PHP分页查询功能,可以按照以下步骤进行操作: 首先,确定每页显示的数据条数和当前页数。
    查询数据库中的数据,并计算总数据条数。
    根据总数据...

  • vendor分区无法挂载如何解决

    出现无法挂载vendor分区的情况可能是由于文件系统损坏、分区错误、硬件故障等原因造成的。以下是一些可能的解决方法: 检查文件系统:使用文件系统检测工具(如f...

  • linux磁盘分区挂载的步骤是什么

    确保磁盘已经被正确连接到计算机并识别。
    使用 fdisk 命令对磁盘进行分区,创建一个或多个分区。
    格式化分区,使用 mkfs 命令对分区进行格式化,例如 ...

  • vendor分区文件无法修改怎么解决

    有几种方法可以尝试解决vendor分区文件无法修改的问题: 检查文件权限:确保您有足够的权限来修改文件。您可以使用chmod命令更改文件的权限。 使用root权限:尝试...

  • python中如何导入本地文件

    要在Python中导入本地文件,可以使用importlib模块的import_module函数或exec函数来实现。以下是两种方法的示例: 使用importlib模块的import_module函数: impo...