Funktion array_intersect_key
Die Funktion array_intersect_key akzeptiert mehrere Arrays und gibt ein neues Array zurück,
das die Elemente des ersten Arrays enthält, deren Schlüssel in allen anderen Arrays vorhanden sind.
Der Vergleich erfolgt nur anhand der Schlüssel, Werte werden nicht berücksichtigt.
Syntax
array_intersect_key(array1, array2, array3, ...);
Beispiel
Vergleichen wir zwei Arrays anhand ihrer Schlüssel:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'c' => 5, 'd' => 6];
$res = array_intersect_key($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['a' => 1, 'c' => 3]
Beispiel
Vergleichen wir drei Arrays anhand ihrer Schlüssel:
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 3 => 'e'];
$arr3 = [1 => 'f', 4 => 'g'];
$res = array_intersect_key($arr1, $arr2, $arr3);
print_r($res);
?>
Ergebnis der Codeausführung:
[1 => 'a']
Beispiel
Vergleich von Arrays mit unterschiedlichen Schlüsseltypen:
<?php
$arr1 = ['1' => 'a', 2 => 'b'];
$arr2 = [1 => 'c', '2' => 'd'];
$res = array_intersect_key($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['1' => 'a', 2 => 'b']
Siehe auch
-
die Funktion
array_intersect,
die Arrays nach Werten vergleicht -
die Funktion
array_diff_key,
die Arrays nach Schlüsseln vergleicht und die Differenz zurückgibt -
die Funktion
array_intersect_assoc,
die sowohl Schlüssel als auch Werte vergleicht