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

php实现无限级分类(php实现无限极分类)

作者:天盟丶阎王   发布日期:2025-05-01   浏览:837

在PHP中,可以使用递归函数来实现无限级分类。下面是一个简单的示例代码:

// 定义分类数组
$categories = array(
    array('id' => 1, 'name' => '电子产品', 'parent_id' => 0),
    array('id' => 2, 'name' => '手机', 'parent_id' => 1),
    array('id' => 3, 'name' => '电脑', 'parent_id' => 1),
    array('id' => 4, 'name' => '笔记本电脑', 'parent_id' => 3),
    array('id' => 5, 'name' => '台式电脑', 'parent_id' => 3),
    array('id' => 6, 'name' => '家用电器', 'parent_id' => 0),
    array('id' => 7, 'name' => '冰箱', 'parent_id' => 6),
    array('id' => 8, 'name' => '洗衣机', 'parent_id' => 6)
);

// 递归函数获取子分类
function getChildren($categories, $parent_id, $level = 0) {
    $result = array();
    foreach ($categories as $category) {
        if ($category['parent_id'] == $parent_id) {
            $category['level'] = $level;
            $category['children'] = getChildren($categories, $category['id'], $level + 1);
            $result[] = $category;
        }
    }
    return $result;
}

// 调用递归函数获取所有分类
$allCategories = getChildren($categories, 0);

// 打印分类
function printCategories($categories) {
    foreach ($categories as $category) {
        echo str_repeat('-', $category['level']) . $category['name'] . "\n";
        if (!empty($category['children'])) {
            printCategories($category['children']);
        }
    }
}

printCategories($allCategories);

上述代码中,首先定义了一个分类数组,其中每个分类包含id、name和parent_id等字段。然后通过递归函数getChildren来获取指定父分类的子分类,最终得到所有分类的树状结构。最后通过printCategories函数打印出所有分类。

上一篇:php改变tr颜色(php修改字体颜色)

下一篇:php编程找出最大顺子?(php编程找出最大顺子函数)

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

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

Laravel 中文站