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