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

PHP如何实现数组当前元素累加前一个元素的值

实现方案

你可以额外引入一个临时变量存储累计值,遍历数组时动态更新即可,修改后的可运行代码如下:

<!DOCTYPE html>
<head>
</head>
<body>
    <?php
        $arr = [422, 322, -52323, 7452];
        // 存储累计值,初始为0
        $accumulate = 0;
        foreach ($arr as &$val) {
            // 累加前值后赋值给当前元素
            $val = $val + $accumulate;
            // 更新累计值为当前元素计算后的值,供下一个元素使用
            $accumulate = $val;
            echo "$val<br>";
        }
    ?>
</body>
</html>

运行后输出结果为:

422
744
-51579
-44127

如果你需要保留原数组不变,只输出累计结果,可以去掉&引用符号,直接输出计算后的结果即可。
如果是连续数字索引的数组,也可以用for循环直接通过下标取前一个元素的值,写法更直观:

$arr = [422, 322, -52323, 7452];
// 第一个元素无需累加前值,直接输出
echo $arr[0]."<br>";
for ($i = 1; $i < count($arr); $i++) {
    $arr[$i] = $arr[$i] + $arr[$i - 1];
    echo $arr[$i]."<br>";
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:27:02