使用php计算数组列表中的重复值

时间:2014-12-10 09:09:52

标签: php

我有一个数组,我需要在其中计算重复值。

这是原始阵列......

array(
    [0] => 23.07.2014
    [1] => 23.07.2014
    [2] => 23.07.2014
    [3] => 22.07.2014
    [4] => 22.07.2014
    [5] => 21.07.2014
    [6] => 21.07.2014
    [7] => 21.07.2014
    [8] => 20.07.2014
    [9] => 20.07.2014
    [10] => 19.07.2014
    [11] => 19.07.2014
    [12] => 18.07.2014
    [13] => 18.07.2014
    [14] => 18.07.2014
    [15] => 17.07.2014
    [16] => 17.07.2014
    [17] => 17.07.2014
    [18] => 16.07.2014
    [19] => 15.07.2014
    [20] => 14.07.2014
    [21] => 13.07.2014
    [22] => 13.07.2014
    [23] => 12.07.2014
    [24] => 12.07.2014
    [25] => 11.07.2014
    [26] => 11.07.2014
    [27] => 10.07.2014
    [28] => 09.07.2014
    [29] => 09.07.2014
    [30] => 08.07.2014
)

我想得到数组中每个值的计数,例如:

23.07.2014   Count=3
24.07.2014   Count=2
25 07.2014   Count=1
29.07.2014   Count=1
28.07.2014   Count=1

4 个答案:

答案 0 :(得分:3)

使用此:

 print_r(array_count_values($array));

答案 1 :(得分:1)

这样的事情应该有效:(未经测试)

unset($tempArr);
foreach ($arr as $elem => $content) {
    if(isset($tempArr[$content]) $tempArr[$content]++;
    else $tempArr[$content] = 0;
}

echo '<pre>'.print($tempArr).'</pre>';

答案 2 :(得分:1)

试试这个......

$vals = array_count_values($array);

$key=array_keys($vals);
$value=array_values($vals);
$count=count($vals);
for($i=0;$i<$count;$i++)
{
echo  $key[$i]."=>".$value[$i]."</br>";
}

答案 3 :(得分:0)

您可以通过不同数量的现有数组计数和唯一数组计数来尝试这个...

`$duplicates = count($currentArray)-count(array_unique($currentArray));
 echo $duplicates;