Heim > Artikel > Backend-Entwicklung > PHPs array_diff()-Funktion: So vergleichen Sie zwei Arrays und geben den Differenzwert zurück
PHPs array_diff()-Funktion: Um zwei Arrays zu vergleichen und den Differenzwert zurückzugeben, sind spezifische Codebeispiele erforderlich.
In der PHP-Sprache ist Array eine der häufigsten Datenstrukturen, die häufig zum Speichern eines Datensatzes verwendet wird oder Aufzeichnen. Wenn Sie die Unterschiede zwischen zwei Arrays vergleichen müssen, bietet PHP eine praktische Funktion array_diff(), die zwei Arrays vergleicht und alle unterschiedlichen Werte zurückgibt. Die Syntax der Funktion
array_diff() lautet wie folgt:
array array_diff ( array $array1 , array $array2 [, array $... ] )
Diese Funktion akzeptiert zwei oder mehr Arrays als Parameter und gibt ein Array zurück enthält alle unterschiedlichen Ein neues Array von Werten. Es funktioniert, indem es die Werte im ersten Array mit den Werten in den folgenden Arrays vergleicht und die Werte im ersten Array zurückgibt, die sich von den übrigen Arrays unterscheiden. Wenn ein Wert in allen Arrays gleich ist, wird er nicht zurückgegeben.
Als nächstes demonstrieren wir die Verwendung der Funktion array_diff() anhand eines einfachen Beispiels.
Zuerst definieren wir zwei Arrays:
$array1 = array("foo", "bar", "baz"); $array2 = array("bar", "qux");
In diesen beiden Arrays enthält $array1 drei verschiedene Strings, während $array2 zwei verschiedene Strings enthält, wobei „bar“ den gemeinsamen Wert angibt.
Als nächstes verwenden wir die Funktion array_diff(), um diese beiden Arrays zu vergleichen und alle unterschiedlichen Werte zurückzugeben:
$diff = array_diff($array1, $array2); print_r($diff);
Die Ausgabe des obigen Codes lautet:
Array ( [0] => foo [2] => baz )
Wie Sie sehen können, enthält das Array $diff $ All Werte in Array1, die sich von $Array2 unterscheiden. Der Wert „bar“, der in beiden Arrays vorhanden ist, wird nicht zurückgegeben.
Wir können auch Werte in mehreren Arrays vergleichen, indem wir weitere Array-Parameter verwenden:
$array3 = array("qux", "corge"); $diff = array_diff($array1, $array2, $array3); print_r($diff);
Der obige Code kombiniert $array1 mit $array2 und $array3, um alle unterschiedlichen Werte zurückzugeben:
Array ( [0] => foo [2] => baz )
Sie können sehen das „qux“, das im dritten Array erscheint, wird nicht zurückgegeben, da es auch in $array2 vorhanden ist.
Wenn Sie außerdem assoziative Arrays vergleichen müssen, können Sie die Funktion array_diff_assoc() verwenden. Ihre Verwendung ähnelt array_diff(), aber sie vergleicht auch die Schlüsselwerte im Array.
Abschließend ist es wichtig zu beachten, dass die Funktion array_diff() nur Werte vergleicht, keine Schlüssel. Beispielsweise haben die folgenden zwei Arrays zwar die gleichen Werte, aber unterschiedliche Schlüsselwerte:
$array1 = array("foo" => 1, "bar" => 2, "baz" => 3); $array2 = array("qux" => 1, "quux" => 2, "baz" => 3);
Beim Vergleich dieser beiden Arrays mit array_diff() werden nur ihre Werte verglichen, nicht die Schlüsselwerte. Daher werden $array1 und $array2 als unterschiedliche Arrays betrachtet.
Zusammenfassend lässt sich sagen, dass die Funktion array_diff() eine sehr praktische Array-Verarbeitungsfunktion in PHP ist. Sie kann verschiedene Werte zwischen mehreren Arrays vergleichen und ein neues Array zurückgeben. Die Verwendung dieser Funktion kann uns helfen, Arrays bequemer zu verarbeiten.
Das obige ist der detaillierte Inhalt vonPHPs array_diff()-Funktion: So vergleichen Sie zwei Arrays und geben den Differenzwert zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!