Function.array-diff-assoc
Aus PHP-Wiki
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 keinem 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ü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().