Php 数组查找重复的值,其中一个值以某个值重复

Php 数组查找重复的值,其中一个值以某个值重复,php,arrays,Php,Arrays,我有以下带有日期的数组: Array ( [0] => 2019-10-01 [1] => 2019-10-03 [2] => 2019-10-04 [3] => 2019-10-04 [4] => 2019-11-01 [5] => 2019-11-01 [6] => 2019-11-01 [7] => 2019-11-02 [8] => 2019-11-04 ) 我想创建一个新数组,查找重复的值,但仅当值出现3次时,新数组才会显示 A

我有以下带有日期的数组:

Array ( [0] => 2019-10-01 [1] => 2019-10-03 [2] => 2019-10-04 [3] => 2019-10-04 [4] => 2019-11-01 [5] => 2019-11-01 [6] => 2019-11-01 [7] => 2019-11-02 [8] => 2019-11-04 ) 
我想创建一个新数组,查找重复的值,但仅当值出现3次时,新数组才会显示

Array ( [0] => 2019-11-01 ) 

有什么帮助吗?

您的数组看起来是有序的,所以您可以遍历并重置任何新值上的计数器

$newArray = [];
// Count occurences of each value in array with `array_count_values`:
foreach(array_count_values($array) as $value => $count) {
    if ($count === 3) {
        $newArray[] = $value;
    }
}
否则,很可能需要遍历数组,因此这是典型的暴力解决方案:

$newArray = []
foreach($yourDateArray as $index => $date) {
    $newArray[$date][$index] = true;
}

$resultArray = []
foreach($newArray as $date => $list) {
    if(count($list) == 3) {
        $resultArray[] = $date;
    }
}