You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何对数组内相同部门的对应数值进行求和

同部门薪资求和的简便实现方法

可以通过以部门名称为键分组累加的方式实现,无需繁琐的if-else嵌套,代码简洁高效:

// 初始化临时数组用于分组统计
$summedData = [];

foreach ($merged_arr as $item) {
    // 去除部门名称前后空格,避免因空格导致分组错误
    $department = trim($item['DEPARTMENT']);
    
    // 若该部门未被初始化,则创建初始统计项
    if (!isset($summedData[$department])) {
        $summedData[$department] = [
            'DEPARTMENT' => $department,
            'BASIC INCOME' => 0,
            'OT PAY' => 0
        ];
    }
    
    // 累加对应薪资项
    $summedData[$department]['BASIC INCOME'] += $item['BASIC INCOME'];
    $summedData[$department]['OT PAY'] += $item['OT PAY'];
}

// 将关联数组转为索引数组,匹配目标格式
$result = array_values($summedData);

补充说明

  1. 空格处理:原数组中第三个项的MUFFLERDIRECT带有尾部空格,用trim()可以避免因字符串不一致导致的重复分组。
  2. 小数精度:如果需要保证结果保留两位小数(和你期望的输出一致),可以在累加时用round()处理:
$summedData[$department]['BASIC INCOME'] = round(
    $summedData[$department]['BASIC INCOME'] + $item['BASIC INCOME'],
    2
);
$summedData[$department]['OT PAY'] = round(
    $summedData[$department]['OT PAY'] + $item['OT PAY'],
    2
);

执行上述代码后,$result就是你想要的合并求和后的数组。

内容的提问来源于stack exchange,提问作者user22249320

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:48:30