Alex Rivera | Logout

Check and return duplicates array php

Asked 2010-08-10T14:28:10.787
61

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

Edit
Report

1 Answer

2
function returndup($array) 
{
    $results = array();
    $duplicates = array();
    foreach ($array as $item) {
        if (in_array($item, $results)) {
            $duplicates[] = $item;
        }

        $results[] = $item;
    }

    return $duplicates;
}
answered 2010-08-10T14:30:49.470

Your Answer