(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_intersect_assoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung
array_intersect_assoc() gibt ein Array mit allen Werten von array
zurück, die auch in allen anderen Argumenten enthalten sind. Es ist zu beachten, dass, anders als bei array_intersect(), auch die Schlüssel zum Vergleich herangezogen werden.
array
Ein Array mit den Hauptwerten, die geprüft werden sollen.
arrays
Arrays zum Vergleichen der Werte.
Gibt ein assoziatives Array zurück, welches alle Werte aus array
enthält, die auch in allen anderen Argumenten enthalten sind.
Version | Beschreibung |
---|---|
8.0.0 | Diese Funktion kann jetzt mit nur einem Parameter aufgerufen werden. Zuvor waren mindestens zwei Parameter erforderlich. |
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 ist zu sehen, 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 $array10
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 der Schlüssel => Wert
-Paare werden genau dann als gleich erachtet, wenn (string) $elem1 === (string) $elem2
. Anders ausgedrückt wird eine strikte Typenprüfung durchgeführt, sodass die String-Darstellung gleich sein muss.