.: HosiriS :.

Informatica e non solo

Tips: elementi duplicati in un array

Posted by hosiris su febbraio 6, 2011

Quello della presenza di elementi duplicati in un array è stato un problema che mi ha sempre dato noie, perchè quando si parla di questo in genere l’ottimizzazione del codice va a farsi benedire.
Finalmente sono riuscito a trovare una soluzione senza dover far ricorso a mille cicli. La funzione array_unique() fa proprio al caso mio: prende come parametro un array e ne restituisce un altro privo degli elementi duplicati:

$array = array(1, 1, 2, 2, 3, 3);
$array = array_unique($array); // il nuovo array è (1, 2, 3)

Su gli array multidimensionali non possiamo usarla, ma sarà sufficiente aggiungere la seguente funzione alle nostre utility:

function multi_unique($array) {
    foreach ($array as $k=>$na){
        $new[$k] = serialize($na);
    }
    $uniq = array_unique($new);
    foreach($uniq as $k=>$ser){
        $new1[$k] = unserialize($ser);
    }
    return ($new1);
}

Buon divertimento!

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: