Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie doppelte Elemente aus einem PHP-Array (drei Methoden)

So entfernen Sie doppelte Elemente aus einem PHP-Array (drei Methoden)

PHPz
PHPzOriginal
2023-04-12 09:18:242293Durchsuche

PHP ist eine weit verbreitete serverseitige Skriptsprache mit leistungsstarken Funktionen und flexiblen Features, was sie zur bevorzugten Sprache für die Backend-Entwicklung vieler Websites macht. In PHP müssen Sie manchmal doppelte Elemente aus einem Array entfernen. In diesem Artikel wird erläutert, wie Sie verschiedene Funktionen von PHP verwenden, um doppelte Array-Elemente zu entfernen.

Methode 1: Verwenden Sie die Funktion array_unique()
Die in PHP integrierte Funktion array_unique() kann doppelte Werte im Array entfernen. Diese Funktion gibt ein neues Array zurück, in dem sich alle doppelten Werte befanden ENTFERNT. Die grundlegende Syntax dieser Funktion lautet wie folgt:

array array_unique(array $array [, int $sort_flags = SORT_STRING ])

Unter diesen ist $array das Array, das dedupliziert werden muss, und $sort_flags ist das Sortierflag , wird zur Angabe des Deduplizierungsergebnisses verwendet und kann die folgenden Werte haben:

  • SORT_REGULAR – vergleicht Datentypen und Werte
  • SORT_NUMERIC – vergleicht nur Werte, sortiert in numerischer Reihenfolge
  • SORT_STRING – vergleicht Werte ​nur, sortiert in String-Reihenfolge

Beispielcode Wie folgt:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $result = array_unique($arr);  
   print_r($result); 
?>

Das Ausgabeergebnis ist:

Array ( [a] => apple [b] => banana )

Im obigen Beispiel enthält das $arr-Array nach der Verwendung zwei identische Werte „apple“. Wenn Sie die Funktion array_unique() verwenden, um Duplikate zu entfernen, bleibt nur noch eines im Ergebnis „apple“ übrig.

Methode 2: Schleifendurchquerung verwenden
Wenn Sie doppelte Werte im Array entfernen müssen, können Sie dazu auch Schleifendurchquerung verwenden. Die Grundidee besteht darin, das Array zu durchlaufen, jedes Element mit dem vorherigen Element zu vergleichen und, wenn es mit dem vorherigen Element identisch ist, das Element zu löschen, bis das Array keine doppelten Elemente mehr enthält.

Der Beispielcode lautet wie folgt:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array();  
   foreach ($arr as $value) {  
      if(!in_array($value, $newArr)){  
         $newArr[] = $value;  
      }  
   }  
   print_r($newArr);  
?>

Das Ausgabeergebnis ist:

Array ( [0] => apple [1] => banana )

Im obigen Beispiel wird eine foreach-Schleife verwendet, um das $arr-Array zu durchlaufen und jedes Element im neuen Array $newArr zu speichern festgestellt, dass es sich bereits in $newArr befindet. Enthält denselben Wert. Überspringen Sie diesen Wert und fahren Sie mit der Überprüfung des nächsten Elements fort.

Methode 3: Verwenden Sie die Funktionen array_flip() und array_keys()
Sie können auch die in PHP integrierten Funktionen array_flip() und array_keys() verwenden, um Duplikate zu entfernen. Mit der Funktion

array_flip() können die Schlüssel und entsprechenden Werte im Array ausgetauscht werden, um den Zweck der Deduplizierung zu erreichen. Die grundlegende Syntax dieser Funktion lautet wie folgt:

array array_flip(array $array)

Unter diesen ist $array das Array, dessen Schlüsselwerte ausgetauscht werden müssen. Die Funktion

array_keys() kann alle Schlüssel im Array zurückgeben. Die grundlegende Syntax lautet wie folgt:

array array_keys(array $array [, Mixed $search_value = null [, bool $strict = false ]])

wo $array ist das angegebene Array. $search_value ist ein optionaler Parameter, mit dem der zu findende Wert angegeben wird. Wenn nicht angegeben, werden alle Schlüssel zurückgegeben. $strict ist ein optionaler Parameter, mit dem angegeben wird, ob ein kongruenter Vergleich verwendet werden soll.

Der Beispielcode lautet wie folgt:

<?php  
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array_flip(array_keys($arr));  
   print_r($newArr); 
?>

Das Ausgabeergebnis ist:

Array ( [apple] => c [banana] => b )

Im obigen Beispiel verwenden Sie zuerst die Funktion array_keys(), um alle Schlüssel im Array $arr zurückzugeben, und verwenden Sie dann array_flip() Funktion zum Austauschen von Schlüsseln und Werten, um das neue Array $newArr zu erhalten. Da die Schlüssel im Array eindeutig sein müssen, kann diese Methode den Effekt einer Deduplizierung erzielen.

Zusammenfassung
In diesem Artikel werden drei Methoden zum Deduplizieren von Array-Elementen in PHP vorgestellt: Verwendung der Funktion array_unique(), Verwendung von Schleifendurchquerung und Verwendung der Funktionen array_flip() und array_keys(). Unterschiedliche Methoden haben unterschiedliche anwendbare Szenarien und Auswirkungen, und es ist notwendig, die geeignete Methode entsprechend der spezifischen Situation auszuwählen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Elemente aus einem PHP-Array (drei Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn