计算PHP数组中的出现次数

时间:2013-07-13 16:02:38

标签: php opencart performance

我正在玩opencart并试图为购物车的过滤器功能添加一些新功能。

我想知道如何有效地计算多维php数组中给定值的出现次数?例如,我正在尝试使用if if所有Filter-> Count == 0?

Array
    (
    ...
    [filter] => Array
       (
       [0] => Array
       (
          [filter_id] => 109
          [name] => Boyfriends (0)
          [count] => 0
       )

       [1] => Array
       (
          [filter_id] => 114
          [name] => Daughters (0)
          [count] => 0
       )

       [2] => Array
       (
          [filter_id] => 115
          [name] => Fathers (0)
          [count] => 0
       )

       [3] => Array
       (
          [filter_id] => 108
          [name] => For Her (53)
          [count] => 53
       )
    ...
    )
...
)

1 个答案:

答案 0 :(得分:1)

$amount = 0;
foreach($array as $value) {
    if($value['count'] == 0)
        $amount++;
}

这将返回等于零的'计数'。要返回非0的数量,请使用:

$amount = 0;
foreach($array as $value) {
    if($value['count'] != 0)
        $amount++;
}

如果所有'count'值都为零,那么$amount将等于零。