陣列的平均值是程式設計中的基本數學運算。平均值用於分析、財務和報表。真實應用例子是計算產品平均評分或考試平均分數的網站。本文將學習如何用 PHP 以不同方法計算數字陣列的平均值。
什麼是平均值?
平均值是將陣列中所有元素相加,再除以陣列元素總數得到的。
公式:平均值 = (所有元素總和) / (元素總數)
平均值計算範例 陣列:[2, 4, 6, 8] 總和:2 + 4 + 6 + 8 = 20 數量:4 個元素 平均值:20 ÷ 4 = 5
使用內建函式
PHP 有內建函式可直接計算平均值。array_sum() 計算元素總和,count() 回傳元素數量
<?php // 定義陣列 $numbers = [1, 2, 3, 4, 5]; // 計算陣列所有元素總和 $sum = array_sum($numbers); // 取得陣列元素總數 $count = count($numbers); // 計算平均值 $average = $sum / $count; // 輸出 echo "The average of the array is: $average"; ?>
The average of the array is: 3
使用迴圈
此方法透過迴圈遍歷陣列找出所有元素總和,再計算平均值
<?php // 定義陣列 $numbers = [1, 2, 3, 4, 5]; // 初始化變數儲存總和 $sum = 0; // 陣列元素總數 $count = count($numbers); // 遍歷陣列每個元素計算總和 foreach ($numbers as $num) { $sum += $num; // 將每個元素加入總和 } // 計算平均值 $average = $sum / $count; // 輸出 echo "The average of the array is: $average"; ?>
The average of the array is: 3
使用 Array Reduce 函式
此方法使用 PHP 的 array_reduce() 函式計算陣列元素總和,再除以數量
<?php // 定義陣列 $numbers = [2, 4, 6, 8, 10]; // 使用 array_reduce() 計算總和 $sum = array_reduce($numbers, function($carry, $item) { return $carry + $item; }, 0); // 計算平均值:總和除以元素總數 $average = $sum / count($numbers); // 輸出 echo "The average of the array is: $average"; ?>
The average of the array is: 6
比較
| 方法 | 時間複雜度 | 空間複雜度 | 最適合 |
|---|---|---|---|
| 內建函式 | O(n) | O(1) | 簡單、可讀的程式碼 |
| 迴圈 | O(n) | O(1) | 學習基礎 |
| Array Reduce | O(n) | O(1) | 函數式程式設計 |
實際應用
- 統計分析尋找資料集平均值
- 評分系統計算學生平均分數
- 財務應用計算平均支出
- 運動分析決定選手平均表現
結論
內建函式法 (array_sum() 和 count()) 是 PHP 計算陣列平均值最高效、最易讀的方法。需要更多計算過程控制時使用迴圈。
