array_diff_assoc
(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
Beschreibung
$array1
, array $array2
[, array $...
] )
Vergleicht array1 mit array2 und
gibt den Unterschied zurück. Im Gegensatz zu array_diff()
werden die Schlüssel des Arrays ebenfalls beim Vergleich herangezogen.
Parameter-Liste
-
array1 -
Das Array, das verglichen werden soll
-
array2 -
Das Array, mit dem verglichen werden soll
-
... -
Weitere Arrays, mit denen vergleichen werden soll
Rückgabewerte
Gibt ein Array zurück, das alle Werte aus
array1 enthält, die in keinem der
anderen Arrays vorhanden ist.
Beispiele
Beispiel #1 array_diff_assoc()-Beispiel
In diesem Beispiel sieht man, dass das "a" => "gruen"-Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der Funktion auftaucht. Andererseits ist das Paar 0 => "rot" in der Ausgabe, weil "red" im zweiten Array den Wert 1 enthält.
<?php
$array1 = array("a" => "gruen", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "gruen", "gelb", "rot");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array
(
[b] => braun
[c] => blau
[0] => rot
)
Beispiel #2 array_diff_assoc()-Beispiel
Zwei Werte von Schlüssel => Wert-Paaren werden nur dann als gleich betrachtet, wenn (string) $elem1 === (string) $elem2 gilt. Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array
(
[0] => 0
[1] => 1
)
Anmerkungen
Hinweis: Diese Funktion überprüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich kann man tiefere Dimensionen überprüfen, indem man zum Beispiel array_diff_assoc($array1[0], $array2[0]); verwendet.
Hinweis: Stellen Sie sicher, dass Sie die Parameter in der korrekten Reihenfolge übergeben, wenn Sie mit ähnlichen Arrays mit mehr Schlüsseln vergleichen. Das neue Array sollte das erste in der Liste sein.
Siehe auch
- array_diff() - Ermittelt die Unterschiede zwischen Arrays
- array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
- array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
- array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
- array_intersect() - Ermittelt die Schnittmenge von Arrays
- array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung