喂! 我试图计算数组中某个字符串存在的次数。我试过这个.. 我的阵列:
$test = array('correct','correct','incorrect','incorrect','correct');
in_array('correct',$test); // only gives me true
我想到了count();但这只返回项目的数量......那么如何计算该数组中有多少“正确”的字符串?
谢谢!
答案 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)
我将count
和array_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;
}