array_intersect_key
(PHP 5 >= 5.1.0)
array_intersect_key — Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
Beschreibung
$array1
, array $array2
[, array $...
] )
array_intersect_key() gibt ein Array zurück, welches
alle Werte von array1 enthält, die Schlüssel
besitzen, die in allen anderen Argumenten enthalten sind.
Parameter-Liste
-
array1 -
Das Array mit den Hauptschlüsseln, auf die geprüft werden soll.
-
array2 -
Ein Array, gegen welches die Schlüssel geprüft werden.
-
... -
Eine variable Liste zu vergleichender Arrays.
Rückgabewerte
Gibt ein assoziatives Array zurück, welches alle Einträge
von array1 enthält, deren Schlüssel
in allen weiteren Arrays vorhanden sind.
Beispiele
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 sehen Sie, dass nur die Schlüssel
'blau' und 'grün' in beiden Arrays
vorhanden sind und daher zurückgegeben werden. Beachten Sie 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 array1.
Die beiden Schlüssel des Schlüssel => Wert-Paares werden als gleich erachtet, genau dann wenn (string) $key1 === (string) $key2 . Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.
Siehe auch
- array_diff() - Ermittelt die Unterschiede zwischen Arrays
- array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
- array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
- array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
- array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
- array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
- array_diff_key() - Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
- array_diff_ukey() - Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
- array_intersect() - Ermittelt die Schnittmenge von Arrays
- array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
- array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
- array_intersect_ukey() - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches