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 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.
Siehe auch
- array_diff() - Ermittelt die Unterschiede zwischen Arrays
- array_intersect() - Ermittelt die Schnittmenge von Arrays
- array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
