.: HosiriS :.

Informatica e non solo

Archive for 6 febbraio 2011

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!

Posted in PHP, Programmazione | Leave a Comment »