php无限极分类的方法是什么

54次阅读
没有评论

共计 1551 个字符,预计需要花费 4 分钟才能阅读完成。

PHP 无限极分类的方法有多种,下面是其中一种常见的方法:

  1. 使用递归函数:
    首先,构建一个多维数组来表示分类的层级关系。每个分类包含一个 id 和 parent_id,parent_id 表示该分类的父级分类 id。
    然后,编写一个递归函数来遍历该多维数组,根据 parent_id 将子分类添加到对应的父分类下。可以使用一个空数组来存储最终的无限极分类结果。

以下是一个示例代码:

function buildTree($categories, $parent_id = 0) {$tree = array();
    
    foreach ($categories as $category) {if ($category['parent_id'] == $parent_id) {$children = buildTree($categories, $category['id']);
            if (!empty($children)) {$category['children'] = $children;
            }
            $tree[] = $category;
        }
    }
    
    return $tree;
}

使用示例:

$categories = array(array('id' => 1, 'name' => ' 分类 1 ', 'parent_id' => 0),
    array('id' => 2, 'name' => ' 分类 2 ', 'parent_id' => 0),
    array('id' => 3, 'name' => ' 分类 3 ', 'parent_id' => 1),
    array('id' => 4, 'name' => ' 分类 4 ', 'parent_id' => 1),
    array('id' => 5, 'name' => ' 分类 5 ', 'parent_id' => 2),
    array('id' => 6, 'name' => ' 分类 6 ', 'parent_id' => 3),
    array('id' => 7, 'name' => ' 分类 7 ', 'parent_id' => 3),
);

$tree = buildTree($categories);
print_r($tree);

输出结果:

Array
([0] => Array
        ([id] => 1
            [name] => 分类 1
            [parent_id] => 0
            [children] => Array
                ([0] => Array
                        ([id] => 3
                            [name] => 分类 3
                            [parent_id] => 1
                            [children] => Array
                                ([0] => Array
                                        ([id] => 6
                                            [name] => 分类 6
                                            [parent_id] => 3
                                        )
                                    [1] => Array
                                        ([id] => 7
                                            [name] => 分类 7
                                            [parent_id] => 3
                                        )
                                )
                        )
                    [1] => Array
                        ([id] => 4
                            [name] => 分类 4
                            [parent_id] => 1
                        )
                )
        )
    [1] => Array
        ([id] => 2
            [name] => 分类 2
            [parent_id] => 0
            [children] => Array
                ([0] => Array
                        ([id] => 5
                            [name] => 分类 5
                            [parent_id] => 2
                        )
                )
        )
)

这样就可以将多维数组按照层级关系转换成无限极分类。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-12发表,共计1551字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)