php - 类别的嵌套函数

标签 php

我正在尝试为多个子类别创建一个嵌套函数,并且我有以下包含类别和子类别的数组。

Array
(
    [0] => Array
        (
            [id] => 1
            [parent_id] => 0
            [name] => Women
        )

    [1] => Array
        (
            [id] => 6
            [parent_id] => 0
            [name] => Men
        )

    [2] => Array
        (
            [id] => 4
            [parent_id] => 1
            [name] => Child of women 3
        )

    [3] => Array
        (
            [id] => 5
            [parent_id] => 4
            [name] => Child of "Child of women 3"
        )
)

和下面的函数

private function categories($array, $parent_id = 0) {
    $return = array();
    foreach($array as $key => $val) {
        if($val['parent_id'] == $parent_id) {
            $return[$val['id']] = $val;
        } else {
            $return[$val['parent_id']]['children'][] = $val;
        }
    }
    return $return;
}

现在它只适用于 1 个子类别,但我想要这个输出:

Women
--Child of women 3
----Child of "Child of women 3
Men

最佳答案

private function categories($array, $parent_id = 0) {
    $textb = '';
    foreach($array as $key => $val) {
        if($val['parent_id'] == $parent_id) {
            $current_id = $val['id'];

            $textb .= '<li>' . $val['name'];

            $categories = self::categories($array, $current_id);
            if(isset($categories) && !empty($categories))
                $textb .= '<ul>' . $categories . '</ul>';

            $textb .= '</li>';
        }
    }
    return $textb;
}

关于php - 类别的嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41101420/

相关文章:

php - $_GET 显示空值

php - 升级到 Laravel 7 后日期未转换

php - Select/SelectAll 删除 在 PHP MySQL/AJAX Jquery 中不起作用

php - Laravel REST API 请求对象为空

php - 是否可以且安全地将 MySQL 语法组合用于 INSERT INTO SET 和 ON DUPLICATE KEY UPDATE(具有相同的列集)?

php - 如何强制 Laravel 项目对所有路由使用 HTTPS?

php未加载但代码存在于查看源页面中

php - [Microsoft][SQL Server Native Client 11.0]共享内存提供程序 : Timeout error [258]

php - 使用php调用数据库中的图像

php,如何检测 session ID是死的还是活的?