我有这样的数组:
$array = array(1, 4, 8, 3, 7);
我想对数组的值求和,但首先,我像这样对数组进行unshift:
<?php
$array = array(1, 4, 8, 3, 7);
array_unshift($array, 0);
array_pop($array);
foreach($array as $key => $val) {
echo $val;
}
?>
然后我想求和数组第一(1, 4, 8, 3, 7
)与新数组(0, 1, 4, 8, 3
)总和像1加0和4加1和8加4等
我想要的输出是:1, 5, 12, 11, 10
4条答案
按热度按时间mm9b1k5b1#
使用array_map。array_map允许您同时对多个数组使用自定义函数
结果类似
uxhixvfz2#
你可以使用for循环代替foreach。
示例
输出
vxqlmq5t3#
可以将弹出的值存储在变量(
popped
)中,以便以后使用。然后你可以使用一个常规的for循环来遍历你的数组,并在循环完成后将popped
值添加到数组中:输出:
m3eecexj4#
不需要弹出或移动任何元素,也不需要创建输入数组的副本。
当您重新计算输入数组时,将当前值与前一个值相加。如果没有前一个值,则使用零。这是非常简单的,因为你的输入是一个索引数组。
代码:(Demo)
等效功能样式:(Demo)