Eliminare del tutto i doppioni in un array

  • Creatore Discussione Creatore Discussione Stefi
  • Data di inizio Data di inizio

Stefi

Nuovo Utente
14 Mag 2013
18
0
0
Ciao volevo chiedervi se esiste un modo per eliminare i doppioni in un array.
Ma non voglio che me ne rimane solo uno, voglio proprio eliminarli, ovvero se trovo due valori uguali eliminali tutte e due. Mi sono spiegata?
un esempio:
io ho un array:
$array=array("ciao","come","stai","ciao");

il risultato che vorrei ottenere è
$array=array("come","stai");

si può fare?
 
Ti ho scritto questa funzione, vedi se ti va bene
PHP:
$array=array("ciao","come","ciao","stai","ciao");

$new_array = senza_doppioni($array);

var_dump($new_array);

function senza_doppioni($a=array()){
    $r = array();
    foreach($a as $k=>$e){
       //rimuovo la chiave attuale
        unset($a[$k]);
      //controllo che non sia fra quelle tolte e non risia nell'array
        if(!in_array($e,$a) && !in_array($e,$r)){
         //nel caso sia quindi unica, la riaggiungo con la chiave originale e continuo il ciclo
            $a[$k] = $e;
            continue;
        }
      //nel caso non sia unica l'aggiungo a quelle rimosse
        $r[] = $e;
    }
    return $a;
}
 
Ultima modifica:
Funziona!!! Grazie mille :D
Per caso sai anche come si fa a non avere la chiave di prima, ma farla partire normalmente da zero?
 

Discussioni simili