如何计算数组中有多少重复键?

时间:2010-12-06 14:11:55

标签: php arrays count

是否可以获得阵列中有多少'a'?

$array = array( 'a', 'a', 'a', 'a', 'b', 'b', 'c' );

3 个答案:

答案 0 :(得分:11)

你需要

array_count_values

<?php
$array = array( 'a', 'a', 'a', 'a', 'b', 'b', 'c' );
print_r(array_count_values($array));
?>

以上示例将输出:

Array
(
    [a] => 4
    [b] => 2
    [c] => 1
)

答案 1 :(得分:3)

由于您只是在查找a值,因此您还可以使用array_keys

$array = array( 'a', 'a', 'a', 'a', 'b', 'b', 'c' );
$count = count(array_keys($array, 'a', true));
echo "Found $count letter a's.";

答案 2 :(得分:2)

Haim是对的。但是我之前遇到过array_count_values的速度问题。因此,如果您已经知道要检查的是什么值,并且不需要其他值。循环和计数器可以更快。我是基准。

修改

即,除非阵列小于1000-10,000个项目。然后它可能太小了无关紧要。