PHP计数器不包括零

时间:2016-08-12 18:11:21

标签: php arrays counter

在PHP中,我有一个返回一组值的数组。我想计算数组中除零之外的实例数。基本上我在表中创建一个平均总列,如果一个人没有贡献,那么我不想计算它们。我有总金额,而不是贡献的总数。有什么帮助吗?

3 个答案:

答案 0 :(得分:2)

您可以使用countarray_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