方法:1、对数组进行升序排序,并用“array_pop(数组)”和“array_shift(数组)”去除最大值和最小值;2、用“count(数组)”和“array_sum(数组)”获取数组长度与元素和;3、用“元素和/数组长度”计算平均数。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php数组去掉最大值和最小值后求平均的方法

1、数组去掉最大值和最小值

  • 使用sort()对数组进行升序排序

  • 排序后该数组的第一个元素就是最小值,最后一个元素就是最大值,只需使用array_pop()和array_shift()函数删除这两个值即可。

    • array_pop():删除数组中的最后一个元素。

    • array_shift():删除数组中的第一个元素。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(1,45,9,52,0,-5,21,-1,40);
sort($arr);
var_dump($arr);
array_pop($arr);        //去掉最大值
array_shift($arr);       //去掉最小值
var_dump($arr);
?>

1.png

2、统计去掉最大值和最小值后的数组长度与数组元素之和

因为array_pop()和array_shift()函数会修改原数组,因此直接使用count() 函数获取处理后的原数组长度即可。

$len=count($arr);
echo "处理后的数组长度为:".$len;

2.png

直接使用array_sum()获取数组元素之和即可:

$sum=array_sum($arr);
echo "<br>处理后的数组元素之和为:".$sum;

3.png

3、求平均:使用“数组元素和”除以“数组长度”

$num=$sum/$len;
echo "<br>平均数为:".$num;

4.png


php数组怎么去掉最大值和最小值后求平均