PHP 数组分组函数在创建层级结构中的使用
作者:RainLight
时间:2025-05-23
浏览:0
PhpStorm macOS版
PhpStorm 是 JetBrains 推出的专业 PHP 集成开发环境,可在 Mac 上完成代码编写、智能检查、重构、调试、测试和数据库管理。它支持主流 PHP 框架、Composer、Git、Docker 与远程解释器。
¥890
Mac
2026-10-13
PHP数组分组函数可用于创建层级结构,通过将数组元素根据指定键分组,生成具有多个嵌套级别的数组。代码示例使用array_group_by()分组数据,然后通过递归函数createHierarchy()将其转换为层级结构。该函数遍历分组结果,根据parent_id创建子层级,最终返回一个具有良好层级结构的嵌套数组。
本文目录
PHP 数组分组函数可用于创建层级结构,通过将数组元素根据指定键分组,生成具有多个嵌套级别的数组。代码示例使用 array_group_by() 分组数据,然后通过递归函数 createHierarchy() 将其转换为层级结构。该函数遍历分组结果,根据 parent_id 创建子层级,最终返回一个具有良好层级结构的嵌套数组。

PHP 数组分组函数在创建层级结构中的应用
数组分组函数在处理需要保持数据层级结构的场景中非常有用。在 PHP 中,array_group_by 函数可以将数组中的元素根据指定键进行分组,从而创建具有多个级别的嵌套数组。
代码示例
1, 'parent_id' => null],
['id' => 2, 'parent_id' => 1],
['id' => 3, 'parent_id' => 2],
['id' => 4, 'parent_id' => 1],
['id' => 5, 'parent_id' => 4],
];
// 根据 parent_id 对表数据进行分组
$groupedData = array_group_by($tableData, 'parent_id');
// 递归函数用于将分组结果转换为层级结构
function createHierarchy($data, $parentId = null) {
$result = [];
foreach ($data as $id => $values) {
if ($id == $parentId) {
foreach ($values as $value) {
$result[] = [
'id' => $value['id'],
'value' => $value['value'],
'children' => createHierarchy($data, $value['id']),
];
}
return $result;
}
}
}
// 将分组数据转换为层级结构
$hierarchy = createHierarchy($groupedData, null);
// 打印层级结构
print_r($hierarchy);
输出结果
Array
(
[0] => Array
(
[id] => 1
[value] => 1
[children] => Array
(
[0] => Array
(
[id] => 2
[value] => 2
[children] => Array
(
[0] => Array
(
[id] => 3
[value] => 3
[children] => Array
(
)
)
)
)
[1] => Array
(
[id] => 4
[value] => 4
[children] => Array
(
[0] => Array
(
[id] => 5
[value] => 5
[children] => Array
(
)
)
)
)
)
)
)在这个示例中,createHierarchy 函数使用递归算法遍历分组数据,并根据 parent_id 创建子层级。最终,它返回一个具有良好层级结构的嵌套 PHP 数组。
作者最新文章
漫蛙2漫画app免费下载安卓版
2026-10-13 13:19
音述AI生成歌曲如何一键制作歌词MV
2026-10-10 13:59
photoshop图层样式在哪
2026-10-04 13:45
photoshop路径工具在哪 怎么用
2026-09-16 13:46
安装python3:后端开发环境配置、验证与排错决策
2026-09-05 09:30
上一篇:
golang函数最佳实践中的常见错误
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多









































