(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_intersect_assoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung
$array1
, array $array2
[, array $...
] ) : array
array_intersect_assoc() gibt ein Array mit allen Werten
von array1
, die auch in allen anderen Argumenten
enthalten sind, zurück. Beachten Sie, dass anders als von
array_intersect() ebenfalls die Schlüssel zum Vergleich
herangezogen werden.
array1
Ein Array mit den Hauptwerten, die geprüft werden sollen.
array2
Ein Array, gegen welches die Werte geprüft werden sollen.
...
Weitere Arrays gegen welche geprüft werden soll.
Gibt ein assoziatives Array zurück, welches alle Werte aus
array1
enthält, welche auch in allen anderen
Argumenten enthalten sind.
Beispiel #1 array_intersect_assoc() Beispiel
<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "grün", "b"=>"gelb", "blau", "rot");
$ergebnis_array = array_intersect_assoc($array1, $array2);
print_r($ergebnis_array);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [a] => grün )
In unserem Beispiel sehen Sie, dass einzig das Paar "a" => "green" in beiden Arrays enthalten ist und daher zurückgegeben wird. Der Wert "rot" wird nicht zurückgegeben, weil sein Schlüsselwert in $array1 0 ist, wohingegen der Schlüssel von "rot" in $array2 den Wert 1 hat. Der Schlüssel "b" wird nicht zurückgegeben, weil er in beiden Arrays einen anderen Wert hat.
Die beiden Werte des Schlüssel => Wert Paares werden als gleich erachtet, genau dann wenn (string) $elem1 === (string) $elem2 . Anders ausgedrückt wird eine strikte Typenprüfung durchgeführt, so dass die Stringrepresentation gleich sein muss.