(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_intersect_key — Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
array_intersect_key() gibt ein Array zurück, welches alle Werte von array
enthält, die Schlüssel besitzen, die in allen anderen Argumenten enthalten sind.
array
Das Array mit den Hauptschlüsseln, auf die geprüft werden soll.
arrays
Arrays zum Vergleichen der Schlüssel.
Gibt ein assoziatives Array zurück, welches alle Einträge von array
enthält, deren Schlüssel in allen weiteren Arrays vorhanden 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_key()-Beispiel
<?php
$array1 = array('blau' => 1, 'rot' => 2, 'grün' => 3, 'violett' => 4);
$array2 = array('grün' => 5, 'blau' => 6, 'gelb' => 7, 'türkis' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(2) { ["blau"]=> int(1) ["grün"]=> int(3) }
In unserem Beispiel ist zu sehen, dass nur die Schlüssel 'blau'
und 'grün'
in beiden Arrays vorhanden sind und daher zurückgegeben werden. Zu beachten ist auch, dass 'blau'
und 'grün'
in beiden Arrays unterschiedliche Werte besitzen. Eine Übereinstimmung wird dennoch festgestellt, da nur die Schlüssel geprüft werden. Die zurückgegebenen Werte sind diejenigen aus array
.
Die beiden Schlüssel der Schlüssel => Wert
-Paare werden genau dann als gleich erachtet, wenn (string) $key1 === (string) $key2
. Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Darstellungen gleich sein müssen.