Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie die Funktion array_unique, um doppelte Arrays in PHP zu entfernen
In der PHP-Sprache ist Array eine sehr häufige Datenstruktur. Während des Entwicklungsprozesses stoßen wir jedoch häufig auf Szenarien, die eine Deduplizierung von Arrays erfordern. Zu diesem Zeitpunkt kann die in PHP bereitgestellte Funktion array_unique nützlich sein. Die Funktion „array_unique“ ist eine Funktion zum Entfernen doppelter Werte aus einem Array. Die Verwendung ist sehr einfach: Es kann ein Array als Parameter akzeptieren und dann ein dedupliziertes Array zurückgeben.
Lassen Sie uns nun die Verwendung der Funktion array_unique im Detail vorstellen:
Grundlegende Verwendung$arr = array('a', 'b', 'c', 'a', 'b'); $newArr = array_unique($arr); print_r($newArr);
Das Ausgabeergebnis ist:
Array ( [0] => a [1] => b [2] => c )
As Wie Sie sehen, wurden die doppelten Werte „a“ und „b“ im ursprünglichen Array entfernt.
Mehrdimensionale Array-DeduplizierungZum Beispiel muss das folgende mehrdimensionale Array dedupliziert werden:
$arr = array( array('a', 'b', 'c'), array('a', 'd', 'e'), array('a', 'b', 'c'), );
Sie können den folgenden Code zum Deduplizieren verwenden:
$tempArray = array(); foreach($arr as $key=>$value){ $tempArray[$key] = serialize($value); } $tempArray = array_unique($tempArray); foreach($tempArray as $key=>$value){ $tempArray[$key] = unserialize($value); } print_r($tempArray);
Das Ausgabeergebnis ist:
Array ( [0] => Array ( [0] => a [1] => b [2] => c ) [1] => Array ( [0] => a [1] => d [2] => e ) )
Sie können sehen, dass die Arrays doppelt vorhanden sind entfernt wurde.
Benutzerdefinierte VergleichsfunktionZum Beispiel kann der folgende Code eine Deduplizierung gemäß dem angegebenen Schlüsselwert erreichen:
$arr = array( array('name' => 'Tom', 'age' => 20), array('name' => 'Jack', 'age' => 22), array('name' => 'Tom', 'age' => 25), ); function compare($v1, $v2){ return $v1['name'] == $v2['name']; } $newArr = array(); foreach($arr as $value){ if(! in_array($value, $newArr, true)){ $newArr[] = $value; } } print_r($newArr);
Das Ausgabeergebnis lautet:
Array ( [0] => Array ( [name] => Tom [age] => 20 ) [1] => Array ( [name] => Jack [age] => 22 ) )
Sie können sehen, dass die Duplizierung gemäß dem Wert „Name“ dedupliziert wird.
Zusammenfassung
Die Funktion array_unique in PHP ist eine sehr praktische Deduplizierungsfunktion. Sie kann einfach eindimensionale Arrays deduplizieren oder auch einige Techniken verwenden, um das Deduplizierungsproblem mehrdimensionaler Arrays zu lösen, und das ist sogar möglich angepasste Vergleichsfunktionen zur Umsetzung komplexerer Deduplizierungsanforderungen. Während des Entwicklungsprozesses kann die genaue und schnelle Deduplizierung von Arrays die Programm- und Entwicklungseffizienz verbessern. Daher müssen Entwickler die korrekte Verwendung der Funktion array_unique beherrschen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion array_unique, um doppelte Arrays in PHP zu entfernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!