在一个数组中查找平均值

3

我正在尝试找到数字数组中的最小值、最大值和平均值:

我有以下代码:

$number = array(15,20,100,10,25,30);

for ($i=0; $i<count($number); $i++){
    //Find maximum number by max function.
    if ($number[$i] == max($number)){
        //Print maximum number.
        $max = $number[$i];
    }

    //Find minimum number by min function.
    elseif ($number[$i] == min($number)) {
    //Print minimum  number.
        $min = $number[$i];
    }
    //Find the average 
    else ($number[$i] == avg($number)){
    //Print average number
        $avg =$number[$i];
    }

}

echo "min value is $min <br/>";
echo "max value is $max <br/>";
echo "average value is $avg </br>";

在平均数部分好像出现了语法错误,请帮忙看一下。


1
你遇到了什么错误? - John Conde
1
为什么要循环数组? min()max() 只会返回值,不需要循环。此外,PHP 没有 avg() 函数,这可能是你看到的错误吗? - gen_Eric
1
你不能发明函数。avg() 这样的东西是不存在的,所以你需要自己编写它。 - miken32
2个回答

7

你在这里使用的 for 循环是没有必要的。你已经几乎使用了所有需要获取所需值的内置函数,但是使用 for 循环会比必要的多次使用它们。你只需要:

$max = max($number);
$min = min($number);
$avg = array_sum($number) / count($number);

很好...非常高效。 - freginold

0
在PHP中,没有内置的avg()函数,但是你可以很容易地得到平均值。在循环过程中累加总数即可:
$total = $total + $number[$i];

然后除以值的数量:

$avg = $total / count($number);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接