實施例:如何在php中查找數組的平均值?
$a[] = '56';
$a[] = '66';
$a[] = '';
$a[] = '58';
$a[] = '85';
$a[] = '';
$a[] = '';
$a[] = '76';
$a[] = '';
$a[] = '57';
實際上如何找到從該陣列不包括空平均值。請幫忙解決這個問題。
實施例:如何在php中查找數組的平均值?
$a[] = '56';
$a[] = '66';
$a[] = '';
$a[] = '58';
$a[] = '85';
$a[] = '';
$a[] = '';
$a[] = '76';
$a[] = '';
$a[] = '57';
實際上如何找到從該陣列不包括空平均值。請幫忙解決這個問題。
首先您需要刪除空的vals,否則平均值將不準確。
所以
$a = array_filter($a);
$average = array_sum($a)/count($a);
echo $average;
請記住,您應該首先檢查以確保count()是正數,否則您將得到零除錯誤 –
echo array_sum($a)/count(array_filter($a));
你需要做count(array_filter($ a))以不包含空值。 – JimL
@JimL剛剛發現。很快就會糾正。 –
接受的答案工程爲示例值,但一般僅使用array_filter($a)
可能不是一個好主意,因爲它會過濾掉任何實際的零個值以及零長度的字符串。
即使'0'
的計算結果爲false,因此您應該使用明確排除零長度字符串的過濾器。
$a = array_filter($a, function($x) { return $x !== ''; });
$average = array_sum($a)/count($a);
你有什麼試過的?計算平均數量或者在PHP中實現它有問題嗎? – JimL