I would like to check if my array has any duplicates and return the duplicated values in an array. I want this to be as efficient as possible.
Example:
$array = array( 1, 2, 2, 4, 5 ); function return_dup($array); // should return 2 $array2 = array( 1, 2, 1, 2, 5 ); function return_dup($array2); // should return an array with 1,2
Also the initial array is always 5 positions long
this will be ~100 times faster than array_diff
$dups = array(); foreach(array_count_values($arr) as $val => $c) if($c > 1) $dups[] = $val;
You can get the difference of the original array and a copy without duplicates using array_unique
and array_diff_assoc
:
array_diff_assoc($arr, array_unique($arr))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With