Forum und email

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.

Example#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.

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