PHP per rimuovere array multi-duplicati

October 23

Quando si lavora con i dati in PHP, non è raro avere una matrice di valori con le voci duplicate. Ad esempio, si consideri una serie di stati degli Stati Uniti, con una voce per ogni cliente. Ogni stato verrà duplicata tante volte quanti sono i clienti in quello stato. Se l'obiettivo è di eseguire un'operazione, una volta per ogni stato, la sfida è quello di rimuovere i duplicati e creare un array di valori unici. PHP include una funzione integrata per effettuare questa operazione, chiamata "array_unique."

inizializzare Array

Creare un nuovo script PHP utilizzando un editor o Notepad. Inizia lo script creando la matrice di valori con i duplicati. Ad esempio, digitare:
<? Php
$ DUPS = array ();
$ Fp = fopen ( "cliente-states.dat", "R") or die ( "Impossibile file di input aperti!");
while (($ data = fread ($ fp)) array_push ($ DUPS);

Rimuovi duplicati

Rimuovere gli array multi-duplicati tramite la funzione built-in "array_unique" in PHP, che leggerà un array e restituire un nuovo array con un elemento per ogni valore unico. Creare un nuovo array per contenere gli elementi unici. Per esempio:

$ Nodups = array_unique ($ DUPS);

Visualizza riepilogo di funzionamento

È possibile includere il codice PHP per visualizzare alcune informazioni sul processo di informare l'utente circa la trasformazione. Per esempio:

?>
<Html>
<Head>
<Title> Rimuovi array multi-duplicati </ title>
</ Head>
<Body>
<? Php
echo "<p> Array con i duplicati ha". Count ($ DUPS). ". Elementi </ p>";
echo "<p> Array senza duplicazioni ha". Count ($ nodups). ". Elementi </ p>";

Mostra risultati

La matrice risultante può essere visualizzato senza duplicati per l'iterazione attraverso di essa e la stampa di ogni valore. Per esempio:

foreach ($ nodups l'indice di $ => $ elemento) {
echo "<p> nodups [$ indice] = $ elemento </ p>";
}
?>