Rimuovi i valori duplicati da un array in PHP

Minahil Noor 13 aprile 2021
Rimuovi i valori duplicati da un array in PHP

Questo articolo introdurrà un metodo per rimuovere i valori duplicati da un array in PHP.

Usa la funzione array_unique() per rimuovere i valori duplicati da un array in PHP

Possiamo usare la funzione array_unique() per rimuovere i valori duplicati da un array. La funzione array_unique() è una funzione specializzata per rimuovere i valori duplicati da un array. La sintassi corretta per utilizzare questa funzione è la seguente.

array_unique($array, $flags);

La funzione array_unique() ha due parametri. I dettagli dei suoi parametri sono i seguenti.

Variabili Descrizione
$array È l’array da cui vogliamo rimuovere i valori duplicati.
$flags Specifica il modello di ordinamento per l’array. I flag di ordinamento sono di cinque tipi.
SORT_REGULAR confronta gli elementi normalmente
SORT_NUMERIC confronta gli elementi numericamente
SORT_STRING confronta gli elementi come stringhe
SORT_LOCALE_STRING confronta gli elementi come stringhe, in base alla lingua corrente.

Questa funzione restituisce l’array privo di valori duplicati. Il programma seguente mostra i modi in cui possiamo usare la funzione array_unique() per rimuovere i valori duplicati da un array in PHP.

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array);
echo("Array after removal: \n");
var_dump($array);
?>

Produzione:

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

La funzione ha restituito l’array filtrato.

Ora, se passiamo il parametro $flags, l’output verrà cambiato.

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array, SORT_NUMERIC);
echo("Array after removal: \n");
var_dump($array);
?>

Produzione:

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(1) {
  [0]=>
  string(4) "Rose"
}

La funzione ha ora ordinato numericamente l’array.

Articolo correlato - PHP Array