Viele Leute haben mich gefragt, wie man ein einzigartiges mehrdimensionales Array erstellt. Ich habe auf Ihren Kommentar Bezug genommen und er hilft mir.
Zunächst einmal danke ich @jeromegamez @daveilers für Ihre Lösung. Aber jedes Mal, wenn ich die Antwort gab, fragten sie mich, wie diese "Serialisierung" und "Unserialisierung" funktioniert. Deshalb möchte ich den Grund dafür mit Ihnen teilen, damit mehr Menschen das Konzept dahinter verstehen.
Ich erkläre, warum wir in Schritten 'serialize' und 'unserialize' verwenden:
Schritt 1: Konvertieren Sie das mehrdimensionale Array in ein eindimensionales Array
Um das mehrdimensionale Array in ein eindimensionales Array zu konvertieren, generieren Sie zunächst eine Byte-Stream-Darstellung aller Elemente (einschließlich verschachtelter Arrays) innerhalb des Arrays. Die Funktion serialize () kann eine Byte-Stream-Darstellung eines Werts erzeugen. Um eine Byte-Stream-Darstellung aller Elemente zu generieren, rufen Sie die Funktion serialize () in der Funktion array_map () als Rückruffunktion auf. Das Ergebnis ist ein eindimensionales Array, unabhängig davon, wie viele Ebenen das mehrdimensionale Array hat.
Schritt 2: Machen Sie die Werte eindeutig
Verwenden Sie die Funktion array_unique (), um dieses eindimensionale Array eindeutig zu machen.
Schritt 3: Setzen Sie es auf das mehrdimensionale Array zurück
Obwohl das Array jetzt eindeutig ist, sehen die Werte wie eine Byte-Stream-Darstellung aus. Verwenden Sie die Funktion unserialize (), um es auf das mehrdimensionale Array zurückzusetzen.
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Nochmals vielen Dank für all das.