Din*_*h G 34 php arrays average
例:
$a[] = '56';
$a[] = '66';
$a[] = '';
$a[] = '58';
$a[] = '85';
$a[] = '';
$a[] = '';
$a[] = '76';
$a[] = '';
$a[] = '57';
Run Code Online (Sandbox Code Playgroud)
实际上如何从这个数组中找出不包括空的平均值.请帮忙解决这个问题.
Mub*_*bin 69
首先你需要删除空值,否则平均值将不准确.
所以
$a = array_filter($a);
$average = array_sum($a)/count($a);
echo $average;
Run Code Online (Sandbox Code Playgroud)
更简洁和推荐的方式
$a = array_filter($a);
if(count($a)) {
echo $average = array_sum($a)/count($a);
}
Run Code Online (Sandbox Code Playgroud)
Don*_*nic 15
接受的答案适用于示例值,但通常简单地使用array_filter($a)可能不是一个好主意,因为它将过滤掉任何实际零值以及零长度字符串.
甚至'0'评估为false,因此您应该使用明确排除零长度字符串的过滤器.
$a = array_filter($a, function($x) { return $x !== ''; });
$average = array_sum($a) / count($a);
Run Code Online (Sandbox Code Playgroud)