如何计算数组内某些字符串的数量?

时间:2011-05-18 21:45:58

标签: php arrays

喂! 我试图计算数组中某个字符串存在的次数。我试过这个.. 我的阵列:

$test = array('correct','correct','incorrect','incorrect','correct');

in_array('correct',$test); // only gives me true

我想到了count();但这只返回项目的数量......那么如何计算该数组中有多少“正确”的字符串?

谢谢!

5 个答案:

答案 0 :(得分:4)

如何使用preg_grep

$count = count(preg_grep('/^correct$/', $test));

答案 1 :(得分:1)

怎么样:

$count = 0;
foreach($test as $t)
    if ( strcmp($t, "correct") == 0)
         $count++;

答案 2 :(得分:1)

我将countarray_filter结合起来:

$count = count(array_filter($test, function($val) {
    return $val === 'correct';
}));

请注意,函数语法仅支持PHP> = 5.3。

答案 3 :(得分:0)

$count = 0;

foreach ($test as $testvalue) {
if ($testvalue == "correct") { $count++; }
}

答案 4 :(得分:0)

function count_instances($haystack, $needle){
  $count = 0;
  foreach($haystack as $i)
    if($needle == $i)
      $count++;
  return $count;
}
相关问题