如何从PHP中的数组中删除重复值并计算出现次数?

时间:2009-08-05 05:54:37

标签: php arrays

如何从PHP中的数组中删除重复值并计算每个元素的出现次数? 我有这个数组

  • FOO
  • FOO

我希望结果像这样

        value   freq

        ----    ----

        foo       2

        bar       1

由于

4 个答案:

答案 0 :(得分:7)

这么简单,php有功能

$a=array("Cat","Dog","Horse","Dog");
    print_r(array_count_values($a));

上面代码的输出将是:

Array ( [Cat] => 1 [Dog] => 2 [Horse] => 1 )  

答案 1 :(得分:5)

您需要array_count_values(),然后是array_unique()

$arr = array('foo','bar','foo');
print_r(array_count_values($arr));

$arr = array_unique($arr);
print_r($arr);

给出:

Array ( [foo] => 2 [bar] => 1 )
Array ( [0] => foo [1] => bar ) 

答案 2 :(得分:1)

要从表中删除重复项,请使用array_unique()函数。

答案 3 :(得分:0)

这样的事可能(未经测试)

$freq = array();
foreach($arr as $val) {
    $freq[$val] = 0;
}
foreach($arr as $val) {
    $freq[$val]++;
}