按 x\_axis 分组累加 y\_axis 总和
作者:暮色微凉
时间:2026-04-09
浏览:0
本文介绍如何在PHP中对二维关联数组按指定键(如x_axis)分组,并将对应另一键(y_axis)的值进行累加合并,最终生成去重且聚合后的结构化数组。

本文介绍如何在 PHP 中对二维关联数组按指定键(如 x_axis)分组,并将对应另一键(y_axis)的值进行累加合并,最终生成去重且聚合后的结构化数组。
本文介绍如何在 PHP 中对二维关联数组按指定键(如 x_axis)分组,并将对应另一键(y_axis)的值进行累加合并,最终生成去重且聚合后的结构化数组。
在数据处理场景中,常需对具有重复分类标识(如时间戳、ID、坐标轴标签等)的数值型记录进行聚合汇总。例如,给定一组形如 ['x_axis' => $x, 'y_axis' => $y] 的数据,当多个元素拥有相同的 x_axis 值时,需将其对应的 y_axis 值相加,合并为单条记录。
实现该逻辑的核心思路是:以 x_axis 为键构建临时聚合映射表,遍历原始数组累计 y_axis 值,最后重新格式化为标准索引数组。以下为推荐实现:
$y) {
$result[] = ['x_axis' => $x, 'y_axis' => $y];
}
return $result;
}
// 示例数据
$data = [
['x_axis' => 8, 'y_axis' => 1],
['x_axis' => 9, 'y_axis' => 1],
['x_axis' => 11, 'y_axis' => 2],
['x_axis' => 11, 'y_axis' => 3],
];
print_r(mergeByXAxis($data));✅ 输出结果:
Array
(
[0] => Array
(
[x_axis] => 8
[y_axis] => 1
)
[1] => Array
(
[x_axis] => 9
[y_axis] => 1
)
[2] => Array
(
[x_axis] => 11
[y_axis] => 5
)
)? 注意事项:
- 该方法时间复杂度为 O(n),优于嵌套循环方案,高效且易读;
- 使用空合并操作符 ?? 可安全处理缺失键,增强鲁棒性;
- 若需保持原始顺序(如按首次出现的 x_axis 排序),可在第二步使用 array_keys($aggregated) 并结合原始数组预扫描实现;
- 如需支持多字段聚合(如同时累加 y_axis 和计数 occurrence),可扩展为存储子数组或对象。
此模式广泛适用于图表数据预处理、报表统计、API 响应聚合等场景,是 PHP 数组操作中的典型实用技巧。
作者最新文章
Photoshop文字外框怎么设置?给文字加边框的实用方法
2026-09-22 16:12
白描 PDF
2026-09-16 17:44
密码键盘
2026-09-16 17:43
3dmax快捷键失效了怎么办
2026-09-16 13:53
Xiaomi 18 Fold首销数据解读:较上代大折叠增长310%的原因与配置分析
2026-09-08 16:55
上一篇:
设备管理器如何排查隐藏硬件冲突?
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































