array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc --  Berechnet 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 einem der anderen Argumente vorhanden ist. Beachten Sie, dass die Schlüssel anders als von array_diff() in den Vergleich einbezogen werden.

Beispiel 1. array_diff_assoc() Beispiel

<?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
)

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üsel => Wert Paaren werden als gleich erachtet, genau dann wenn (string) $elem1 === (string) $elem2 . Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.

Anmerkung: 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().