Heim > Artikel > Backend-Entwicklung > So entfernen Sie doppelte Daten in PHP
So entfernen Sie doppelte Daten in PHP: 1. Verwenden Sie die Funktion „array_unique“, um doppelte Werte in einem Array direkt zu entfernen. 2. Verwenden Sie die Funktion „array_flip“ und die Funktion „array_keys“, um doppelte Daten zu entfernen.
Empfohlen: „PHP-Video-Tutorial“
Zwei Möglichkeiten, doppelte Daten aus einem Array in PHP zu entfernen
1. Verwenden Sie direkt die Funktion array_unique.
Verwenden Sie die Funktion array_unique, um Daten direkt hinzuzufügen ein Array. Doppelte Werte werden entfernt und nur das erste Vorkommen des doppelten Werts und seines entsprechenden Schlüsselwerts bleiben erhalten.
Spezifische Anweisungen finden Sie im PHP-Handbuch.
Beispiel 1:
$input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique($input); print_r($result); 此时输出: Array ( [a] => green [0] => red [1] => blue )
Hinweis: In der Funktion array_unique , wenn int (3) und string(1) '3' erscheinen, betrachtet die Funktion die beiden Werte als denselben Wert und behält nur den Wert bei, der zuerst erscheint
Beispiel 2:
$input = array(4, "4", "3", 4, 3, "3"); $result = array_unique($input); var_dump($result);
Zu diesem Zeitpunkt , es wird ausgegeben:
array(2) { [0] => int(4) [2] => string(1) "3" }
2. Verwenden Sie die Funktion array_flip und die Funktion array_keys zusammen
Es ist sehr praktisch, die Funktion array_unique zu verwenden, aber es gibt eine Sache: Die Funktion array_unique ändert den ursprünglichen Schlüsselwert des beibehaltenen nicht Wert, der in einigen Fällen nicht für das neue Array geeignet ist. Zu diesem Zeitpunkt können Sie die Funktionen array_flip und array_keys verwenden, um die Werte und Schlüsselwerte auszutauschen Ändern Sie im angegebenen Array die Schlüsselnamen in Werte, und die Werte im ursprünglichen Array werden zu Schlüsselnamen. Wenn derselbe Wert mehrmals vorkommt, wird der letzte Schlüsselname als Wert verwendet, und so weiter andere sind verloren.
Zum Beispiel:
$trans = array("a" => 1, "b" => 1, "c" => 2); $trans = array_flip($trans); print_r($trans);
Die Ausgabe zu diesem Zeitpunkt:
Array ( [1] => b [2] => c )
array_keys-Funktion
array_keys-Funktion kann einige oder alle Schlüsselnamen im Array zurückgeben. Wenn serch_value angegeben ist, wird der Schlüssel zurückgegeben der angegebene Abfragewert. Wert
Zum Beispiel:
$array = array(0 => 100, "color" => "red"); print_r(array_keys($array)); $array = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($array, "blue")); $array = array("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large")); print_r(array_keys($array));
Die Ausgabe lautet:
Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size )
Nachdem ich die Verwendung der beiden Funktionen eingeführt habe, möchte ich die wiederholten Daten entfernen, wenn ich auf ein Array mit vielen wiederholten Daten stoße Wenn Sie mit dem Zählen beginnen, können Sie zuerst die Funktion array_flip für die Funktion und dann die Funktion array_keys für das neue Array verwenden, um dies zu erreichen
Ergänzung: Als der Editor eingeführt wurde Bei der Funktion array_keys kam mir plötzlich der Gedanke, dass es eine Funktion geben sollte, die die Werte aller Arrays ermitteln kann. Ja, ich habe nachgeschaut und herausgefunden, dass es eine Funktion array_value gibt. Diese Funktion kann alle Werte zurückgeben eines Arrays und zeichnen sie in einem neuen Array auf. Auf diese Weise kann der Schlüsselwert auch von „0“ an gezählt werden. Wenn Sie also den Zweck dieses Artikels erreichen möchten, können Sie auch zuerst die Funktion array_unique verwenden , und verwenden Sie dann die Funktion array_value darauf.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Daten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!