方法: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視頻教程》