2020-06-29 20:01:32 +00:00
|
|
|
<?php
|
|
|
|
|
2021-05-09 20:15:43 +00:00
|
|
|
declare (strict_types=1);
|
2022-06-06 17:12:56 +00:00
|
|
|
namespace Rector\Naming\PhpArray;
|
2020-06-29 20:01:32 +00:00
|
|
|
|
|
|
|
final class ArrayFilter
|
|
|
|
{
|
2020-08-11 10:59:04 +00:00
|
|
|
/**
|
2020-10-11 14:17:43 +00:00
|
|
|
* @param mixed[] $values
|
2020-08-11 10:59:04 +00:00
|
|
|
* @return string[]
|
|
|
|
*/
|
2021-05-09 20:15:43 +00:00
|
|
|
public function filterWithAtLeastTwoOccurences(array $values) : array
|
2020-06-29 20:01:32 +00:00
|
|
|
{
|
2020-09-01 17:56:30 +00:00
|
|
|
/** @var array<string, int> $valueToCount */
|
2021-05-09 20:15:43 +00:00
|
|
|
$valueToCount = \array_count_values($values);
|
2020-06-29 20:01:32 +00:00
|
|
|
$duplicatedValues = [];
|
|
|
|
foreach ($valueToCount as $value => $count) {
|
2020-09-01 17:56:30 +00:00
|
|
|
/** @var int $count */
|
2020-06-29 20:01:32 +00:00
|
|
|
if ($count < 2) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
$duplicatedValues[] = $value;
|
|
|
|
}
|
|
|
|
return $duplicatedValues;
|
|
|
|
}
|
|
|
|
}
|