如何使用循环逆序计算输入数组的元素值累加和
逆序遍历计算数组后缀累加和实现
需求说明
通过循环逆序遍历的方式,计算输入数组每个位置到数组末尾的元素累加和,最终返回和原数组索引一一对应的结果数组。
- 示例输入数组:
$input = [6,60,38,44,44,38,60,6];
- 预期输出:结果数组每个索引位的值为原数组对应索引到末尾所有元素的和,即
Array ( [0] => 296 [1] => 290 [2] => 230 [3] => 192 [4] => 148 [5] => 104 [6] => 66 [7] => 6 )
实现代码
逻辑非常直接:从数组最后一位开始向前遍历,维护一个累加变量记录当前遍历过的元素总和,每遍历一个元素就更新累加值,并存入结果数组的对应索引位即可,不需要额外做顺序翻转操作。
<?php $input = [6,60,38,44,44,38,60,6]; $arrLength = count($input); $result = []; $total = 0; // 从最后一个索引开始向前逆序循环 for ($i = $arrLength - 1; $i >= 0; $i--) { $total += $input[$i]; $result[$i] = $total; } // 输出验证结果 print_r($result); ?>
运行结果
执行代码后得到的输出和预期完全匹配:
Array ( [0] => 296 [1] => 290 [2] => 230 [3] => 192 [4] => 148 [5] => 104 [6] => 66 [7] => 6 )
内容的提问来源于stack exchange,提问作者qaiserjutt
相关产品推荐
相关产品推荐

