Duplikate aus mehrdimensionalen PHP-Arrays entfernen
In PHP erfordert die Arbeit mit mehrdimensionalen Arrays oft die Notwendigkeit, doppelte Elemente zu entfernen. Dies kann besonders nützlich sein, wenn es um große Datensätze geht, bei denen identische Werte in mehreren Unterarrays erscheinen können.
Betrachten Sie das folgende Beispiel, in dem wir ein 2D-Array mit Unterarrays haben, die Namen, E-Mail-Adresse und andere Informationen enthalten :
$array = [ [ 'name' => 'Dave', 'email' => 'dave@example.com', ], [ 'name' => 'John', 'email' => 'john@example.com', ], [ 'name' => 'Bruce', 'email' => 'bruce@example.com', ], [ 'name' => 'John', 'email' => 'john@example.com', ], ];
In diesem Beispiel haben wir einen doppelten Eintrag mit derselben E-Mail-Adresse („john@example.com“). Um das doppelte Unterarray zu entfernen, können wir die Einzigartigkeit von Array-Indizes mithilfe des folgenden Snippets nutzen:
$newArr = []; foreach ($array as $val) { $newArr[$val['email']] = $val; } $array = array_values($newArr);
Indem wir die Unterarrays durchlaufen und die E-Mail-Adresse als Schlüssel für das neue Array verwenden, Wir überschreiben alle doppelten Werte mit dem letzten passenden Unterarray. Die Funktion array_values() wird dann verwendet, um die Array-Indizes zurückzusetzen, was zu einem deduplizierten Array führt:
$array = [ [ 'name' => 'Dave', 'email' => 'dave@example.com', ], [ 'name' => 'John', 'email' => 'john@example.com', ], [ 'name' => 'Bruce', 'email' => 'bruce@example.com', ], ];
Diese Technik entfernt effektiv doppelte Werte basierend auf dem angegebenen Schlüssel und hinterlässt ein dedupliziertes mehrdimensionales Array .
Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Sub-Arrays aus einem mehrdimensionalen PHP-Array entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!