在PHP中计算具有特定值的子阵列的总数

时间:2012-09-02 02:20:33

标签: php arrays

$example = 
  array
    'test' =>
      array(
        'something' => 'value'
      ),
    'whatever' =>
      array(
        'something' => 'other'
      ),
    'blah' =>
      array(
        'something' => 'other'
      )
  );

我想计算$example个子数组中有多少包含值为other的元素。

最简单的方法是做什么?

2 个答案:

答案 0 :(得分:6)

array_filter()就是您所需要的:

count(array_filter($example, function($element){

    return $element['something'] == 'other';

}));

如果您想要更灵活:

$key = 'something';
$value = 'other';

$c = count(array_filter($example, function($element) use($key, $value){

    return $element[$key] == $value;

}));

答案 1 :(得分:1)

您可以尝试以下操作:

$count = 0;
foreach( $example as $value ) {
    if( in_array("other", $value ) )
        $count++;
}