如何在PHP中使用函数求和数组

时间:2018-09-18 15:49:31

标签: php arrays function foreach

我要做运动。 需要创建一个名为sumArray()的函数,该函数应将数组作为参数并返回数组中所有项目的总和。通过使用数组[4,256,5,13,1]来调用函数进行回答。在下面编写代码,并将答案放入变量ANSWER。

这么久我来了,但是没有用。

function sumArray($array) {
    $total = 0;
    foreach ($array as $value) {
        $total += $value;
    }
    return $array;
}




$ANSWER = sumArray(4, 256, 5, 13, 1);

4 个答案:

答案 0 :(得分:0)

您可以只使用PHP内置的array_sum方法。

http://php.net/manual/en/function.array-sum.php

$ANSWER = array_sum(array(4, 256, 5, 13, 1));

如果必须创建一个函数,则将其包装。

function sumArray($array) {
    return array_sum($array);
}
$ANSWER = sumArray(array(4, 256, 5, 13, 1));

注意。在您的示例中,您没有提供具有各种参数的数组。您也可以这样做:

function sumArray() {
    return array_sum(func_get_args());
}
$ANSWER = sumArray(4, 256, 5, 13, 1);

编辑。由于此答案因未在此处提供如何添加示例而被否决。尽管您应该始终使用内置函数(如果可用),并且教会您避免使用它是违反直觉的。

function sumArray($array) {
    for($i = 0, $total = 0; $i < count($array); $total+=$array[$i++]);
    return $total;
}

$ANSWER = sumArray([4, 256, 5, 13, 1]);

答案 1 :(得分:0)

如此接近。只有两件事要做。

function sumArray($array) {
    $total = 0;
    foreach ($array as $value) {
        $total += $value;
    }
//YOU NEED TO RETURN $total !! not $array
    return $total;
}
//the params given to sumArray() are not an array. just encapsule that in [] like: 
$ANSWER = sumArray([4, 256, 5, 13, 1]);

答案 2 :(得分:0)

首先,您需要返回FieldValue.serverTimestamp(),再次返回数组。

第二,您必须将数组作为参数传递给函数:

$total

示例:

$sumArray = array(4, 256, 5, 13, 1); // your array
$myAnswer = sumArray($sumArray); // calling function

答案 3 :(得分:-1)

由于需要编写函数,因此代码应如下所示:

function sumArray($array) {
    $total = 0;
    foreach ($array as $value) {
        $total += $value;
    }
    return $total;
}




$ANSWER = sumArray(array(4, 256, 5, 13, 1));

您的代码无法正常工作,因为您没有将数组传递给函数,并且还返回了参数而不是$ total变量。

或者,您可以在自己的函数中使用array_sum。