如何复制数组元素并找到它们的总和?

时间:2017-03-23 15:34:59

标签: php arrays sum

这是我的代码:

$a = -5;
$i = 0;

while ($i < 2) {
    $arr = array($a);
    $arroutput = array_sum($arr);
    $i++;
}

print_r($arroutput);

想要的是这样的数组输出:

-10

获取是一个只有

的数组
-5 

道歉,如果这是非常微不足道的。

2 个答案:

答案 0 :(得分:1)

$arr = array($a);更改为$arr[] = $a;

PHP code demo

<?php

$a = -5;
$i = 0;

while ($i < 2)
{
    $arr[] = $a;
    $arroutput = array_sum($arr);
    $i++;
}

print_r($arroutput);
?>

答案 1 :(得分:0)

Sahil回答说,由于它的大小,它充满了糟糕的建议。您不需要使用循环,递增变量,也不需要在每次迭代时调用array_sum()。他的解决方案几乎完全没有&#34;最佳实践&#34;。他的回答绝对不是你或未来SO读者应该学习的东西。

要生成没有循环的重复元素数组,请使用array_fill()

要计算生成值的总和,请使用array_sum() JUST ONCE。

您应该使用此代码:

代码:(Demo)*第一组行是详细版本,第二行在另一行中嵌套一个函数。

$number=-5;
$times=2;
var_export([array_sum(array_fill(0,$times,$number))]);

输出:

array (
    0 => -10,
)

此方法使用保持$number$times次的元素填充数组,查找元素的总和,并将总和作为单个元素数组返回。