HOWTO · PHP

Doppelte Werte aus einem Array in PHP entfernen

Dieser Artikel stellt vor, wie man doppelte Werte aus einem Array in PHP entfernt. Er beinhaltet die Funktion array_unique().

Dieser Artikel stellt eine Methode vor, um doppelte Werte aus einem Array in PHP zu entfernen.

Verwenden Sie die Funktion array_unique(), um doppelte Werte aus einem Array in PHP zu entfernen

Wir können die Funktion array_unique() verwenden, um doppelte Werte aus einem Array zu entfernen. Die Funktion array_unique() ist eine spezialisierte Funktion zum Entfernen von doppelten Werten aus einem Array. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt.

array_unique($array, $flags);

Die Funktion array_unique() hat zwei Parameter. Die Details zu den Parametern lauten wie folgt.

Variablen Beschreibung
$array Es ist das Array, aus dem wir die doppelten Werte entfernen wollen.
$flags Sie gibt das Sortiermuster für das Array an. Die Sortierflags sind von fünf Typen.
SORT_REGULAR vergleicht Elemente normal
SORT_NUMERIC vergleicht Elemente numerisch
SORT_STRING vergleicht Elemente als Strings
SORT_LOCALE_STRING vergleicht Elemente als Strings, basierend auf dem aktuellen Gebietsschema.

Diese Funktion gibt das Array frei von doppelten Werten zurück. Das folgende Programm zeigt, wie wir die Funktion array_unique() verwenden können, um doppelte Werte aus einem Array in PHP zu entfernen.

<?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);
?>

Ausgabe:

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"
}

Die Funktion hat das gefilterte Array zurückgegeben.

Wenn wir nun den Parameter $flags übergeben, wird die Ausgabe verändert.

<?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);
?>

Ausgabe:

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"
}

Die Funktion hat das Array nun numerisch sortiert.