(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.