(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_diff_assoc — Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
Vergleicht array
mit arrays
und gibt den Unterschied zurück. Im Gegensatz zu array_diff() werden die Schlüssel des Arrays ebenfalls beim Vergleich herangezogen.
array
Das Array, das verglichen werden soll
arrays
Arrays zum Vergleichen
Gibt ein Array zurück, das alle Werte aus array
enthält, die in keinem der anderen Arrays vorhanden ist.
Version | Beschreibung |
---|---|
8.0.0 | Diese Funktion kann jetzt mit nur einem Parameter aufgerufen werden. Zuvor waren mindestens zwei Parameter erforderlich. |
Beispiel #1 array_diff_assoc()-Beispiel
In diesem Beispiel ist das "a" => "gruen"
-Paar in beiden Arrays enthalten und taucht daher nicht in der Ausgabe der Funktion auf. Andererseits ist das Paar 0 => "rot"
in der Ausgabe, weil dem Wert "rot"
im ersten Array automatisch der Schlüssel 0
zugewiesen wird, während ihm im zweiten Array 1
zugewiesen wird, weil der Schlüssel 0
bereits von gelb
belegt ist.
<?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 )
Hinweis: Diese Funktion überprüft nur eine Dimension eines n-dimensionalen Arrays. Es ist möglich, tiefere Dimensionen zu überprüfen, indem zum Beispiel
array_diff_assoc($array1[0], $array2[0]);
verwendet wird.
Hinweis: Wenn ähnliche Arrays mit mehreren Schlüsseln verglichen werden, muss sichergestellt werden, dass die Argumente in der richtigen Reihenfolge übergeben werden. Das neue Array sollte das erste in der Liste sein.