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

PHP计算数组中total_products_wt字段的总和

计算PHP多维数组中total_products_wt字段的总和

嘿,我来帮你搞定这个PHP数组求和的问题!你需要把给定的多维数组里每个子数组的total_products_wt字段值加起来对吧?这里有几种实用的方法,你可以根据自己的习惯选择:

方法1:foreach循环(最直观易读)

这是最基础也最容易理解的方式,手动遍历数组里的每一项,逐个累加数值:

// 你的原始数组
$orders = [
    [
        'reference' => '000000092',
        'firstname' => 'utilisatrice',
        'lastname' => 'test',
        'total_products_wt' => '1500.000000',
        'date_add' => '2018-04-04 14:53:18'
    ],
    [
        'reference' => '000000093',
        'firstname' => 'Filleul',
        'lastname' => 'test',
        'total_products_wt' => '1500.000000',
        'date_add' => '2018-04-04 14:58:33'
    ]
];

$totalSum = 0;
foreach ($orders as $order) {
    // 把字符串类型的数值转成float,确保计算精准
    $totalSum += (float)$order['total_products_wt'];
}

echo $totalSum; // 最终输出:3000.0

方法2:array_column + array_sum(简洁高效)

如果你用的是PHP 5.5及以上版本,array_column可以快速提取所有子数组中指定字段的值,再配合array_sum直接求和,一行核心代码就能搞定:

// 提取所有total_products_wt字段值组成新数组
$productTotals = array_column($orders, 'total_products_wt');
// 自动求和,array_sum会自动处理字符串转数值的操作
$totalSum = array_sum($productTotals);

echo $totalSum; // 同样输出:3000.0

方法3:array_reduce(函数式编程风格)

如果你偏好函数式写法,array_reduce可以帮你通过回调函数完成累加操作,代码更紧凑:

$totalSum = array_reduce($orders, function($accumulator, $currentOrder) {
    $accumulator += (float)$currentOrder['total_products_wt'];
    return $accumulator;
}, 0); // 初始值设为0

echo $totalSum; // 输出:3000.0

小提示

  • 你的total_products_wt是字符串格式的数值,建议转成float类型再计算,避免潜在的类型转换问题
  • 如果数组里可能存在缺少total_products_wt字段的子数组,可以在代码里加个判断,比如isset($order['total_products_wt'])再进行累加,防止出现报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:46:45