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


Count the duplicate value in the array list using 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

使用这个:

 print_r(array_count_values($array));

试试这个...

$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>";
}

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

unset($tempArr);
foreach ($arr as $elem => $content) {
    if(isset($tempArr[$content]) $tempArr[$content]++;
    else $tempArr[$content] = 0;
}
echo '<pre>'.print($tempArr).'</pre>';

您可以通过现有数组计数和唯一数组计数的不同计数来尝试此操作...

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