方法:1、用sort()进行数组排序,用count()求数组长度;2、用“长度%2==0”判断长度是偶数还是奇数,若是偶数则中位数为“(数组名[(长度)/2]+数组名[((长度)/2)+1])/2”,反之则为“数组[(长度/2)-0.5”。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
php求大数组中位数的方法
实现思想:
使用sort() 对数组进行排序,再使用count()求数组长度
判断数组长度是偶数还是奇数
如果数组长度是偶数,那么中位数将为 arr[数组长度/2] +arr[(数组长度/2)+1]/ 2
。
如果数组长度为奇数,则中位数将是中间元素 arr[(数组长度 / 2) - 0.5]
。
实现代码:
<?php
header("Content-type:text/html;charset=utf-8");
function f($arr){
sort($arr);
$len=count($arr);
if($len%2==0){
// 如果长度是偶数
echo "中位数为: ".(($arr[$len/2]+$arr[($len/2)- 1])/2)."<br>";
}else{
// 如果长度是奇数
echo "中位数为: ".($arr[($len/2)-0.5])."<br>";
}
}
$arr1=[1, 4, 7, 9];
f($arr1);
$arr2=[1, 2, 4, 7, 9];
f($arr2);
?>