发布于2026-07-19 阅读(0)
扫一扫,手机访问
本文介绍如何在 PHP 中对二维关联数组按指定键(如 x_axis)分组,并将对应另一键(如 y_axis)的值累加,最终生成去重且聚合后的数组。方法简洁高效,适用于数据统计、图表预处理等场景。
在实际开发中,我们常需对原始数据进行聚合处理——例如将多个坐标点按横坐标(x_axis)归类,并将其纵坐标(y_axis)值相加,以生成汇总后的折线图或柱状图数据源。核心需求是:以 x_axis 为分组依据,对同组所有 y_axis 值求和,保留唯一 x_axis 条目。
实现该逻辑最清晰的方式是使用「临时键映射 + 二次重组」策略:
以下是完整可运行的示例代码:
8, 'y_axis' => 1], ['x_axis' => 9, 'y_axis' => 1], ['x_axis' => 11, 'y_axis' => 2], ['x_axis' => 11, 'y_axis' => 3],];function mergeByXAxis(array $data): array{ $temp = []; foreach ($data as $item) { $x = $item['x_axis'] ?? null; $y = $item['y_axis'] ?? 0; if ($x !== null) { $temp[$x] = ($temp[$x] ?? 0) + $y; } } $result = []; foreach ($temp as $x => $y) { $result[] = ['x_axis' => $x, 'y_axis' => $y]; } return $result;}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 ))
⚠️ 注意事项:
该方法语义明确、无依赖、易维护,是 PHP 数组聚合操作的经典实践模式。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8