PHP Portal » PHP Handbuch » array_diff_assoc

Werbung

array_diff_assoc


(PHP 4 >= 4.3.0, PHP 5)

array_diff_assocBerechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung

Beschreibung

array array_diff_assoc ( array $array1 , array $array2 [, array $ ... ] )

array_diff_assoc() gibt ein array zurück, das alle Werte aus array1 enthält, die in keinem der anderen Argumente vorhanden ist. Beachten Sie, dass die Schlüssel anders als von array_diff() in den Vergleich einbezogen werden.

PHP Code
1
2
3
4
$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
)

In unserem obigen 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 Argument einen Schlüsselwert von 1 enthält.

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.

Hinweis: Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays prüft. Natürlich kann man tiefere Dimensionen überprüfen, indem man zum Beispiel array_diff_assoc($array1[0], $array2[0]); verwendet.

Siehe auch array_diff(), array_intersect() und array_intersect_assoc().