在PHP中,我有一个返回一组值的数组。我想计算数组中除零之外的实例数。基本上我在表中创建一个平均总列,如果一个人没有贡献,那么我不想计算它们。我有总金额,而不是贡献的总数。有什么帮助吗?
答案 0 :(得分:2)
您可以使用count
和array_filter
方法执行此操作。
count
为您提供数组中元素的总数。
array_filter
从数组中删除其值代表false
的所有元素(例如0空字符串等);
例如:
echo count(array_filter($your_array));
答案 1 :(得分:0)
使用foreach
迭代数组并计算不是"零"的项目。
$counter = 0;
foreach ($array as $item) {
if ( /* determine if $item is "not zero" */ ) {
++$counter;
}
}
echo $counter;
根据您提供的信息,我可以告诉您。
答案 2 :(得分:0)
您可以将回调函数作为第二个参数提供给array_filter
。 (http://php.net/manual/en/function.array-filter.php)
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
所以你可以这样做:
function isNonZero(int $num){
return $num !== 0;
}
count(array_filter([0,1,2,3,4], "isNonZero")); // => 4