Php 和值数组
我有这样的数组:Php 和值数组,php,arrays,sum,Php,Arrays,Sum,我有这样的数组: $array = array(1, 4, 8, 3, 7); <?php $array = array(1, 4, 8, 3, 7); array_unshift($array, 0); array_pop($array); foreach($array as $key => $val) { echo $val; } ?> 我想求数组的和值,但首先,我按如下方式取消移动数组: $array = array(1, 4, 8, 3, 7); &
$array = array(1, 4, 8, 3, 7);
<?php
$array = array(1, 4, 8, 3, 7);
array_unshift($array, 0);
array_pop($array);
foreach($array as $key => $val) {
echo $val;
}
?>
我想求数组的和值,但首先,我按如下方式取消移动数组:
$array = array(1, 4, 8, 3, 7);
<?php
$array = array(1, 4, 8, 3, 7);
array_unshift($array, 0);
array_pop($array);
foreach($array as $key => $val) {
echo $val;
}
?>
然后我想先用新数组(0,1,4,8,3,7
)求和数组(0,1,4,8,3
)
像1加0,4加1,8加4这样的总和
我希望输出是:1,5,12,11,10
用PHP求和有什么诀窍吗
非常感谢 您可以使用for循环而不是foreach 示例
$array = $array2 = array(1, 4, 8, 3, 7);
array_unshift($array, 0);
array_pop($array);
$array3 = [];
for($i = 0; $i < count($array); $i++) {
$array3[] = $array[$i]+$array2[$i];
}
print_r($array3);
就用吧。
array_map允许您同时在多个数组上使用自定义函数
$array = array(1, 4, 8, 3, 7);
$others = $array;
array_unshift($others, 0);
array_pop($others);
function sumarray($v1,$v2){
return $v1+$v2;
}
$res = array_map('sumarray', $array,$others);
print_r($res);
结果像
Array
(
[0] => 1
[1] => 5
[2] => 12
[3] => 11
[4] => 10
)
您可以将弹出的值存储在变量(
弹出的
)中,以便以后使用。然后,您可以使用常规for循环在数组上循环,并在循环完成后将弹出的值添加到数组中:
$array = array(1, 4, 8, 3, 7);
array_unshift($array, 0);
$popped = array_pop($array);
$result = [];
for($i = 0; $i < count($array)-1; $i++) {
$val1 = $array[$i];
$val2 = $array[$i + 1];
$result[] = $val1 + $val2;
}
$result[] = end($array) + $popped; // add the last element with the popped value
print_r($result);
@凯末德。别担心。不要忘记将最合适的答案标记为“已回答”