方法: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); ?>
推荐学习:《PHP视频教程》