Funktion array_diff_key
Die Funktion array_diff_key vergleicht die Schlüssel von zwei oder mehr Arrays und gibt ein Array zurück, das die Elemente des ersten Arrays enthält, deren Schlüssel in den anderen Arrays nicht vorhanden sind. Der Vergleich erfolgt nur anhand der Schlüssel, die Werte der Elemente werden nicht berücksichtigt.
Syntax
array_diff_key(array $array1, array $array2 [, array $...]): array
Beispiel
Vergleichen wir zwei Arrays anhand ihrer Schlüssel:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'd' => 5];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['b' => 2, 'c' => 3]
Beispiel
Vergleich von drei Arrays anhand ihrer Schlüssel:
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 4 => 'e'];
$arr3 = [5 => 'f', 2 => 'g'];
$res = array_diff_key($arr1, $arr2, $arr3);
print_r($res);
?>
Ergebnis der Codeausführung:
[3 => 'c']
Beispiel
Verwendung von numerischen und String-Schlüsseln:
<?php
$arr1 = ['color' => 'red', 1 => 'a', 2 => 'b'];
$arr2 = [1 => 'c', 'size' => 'XL'];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Ergebnis der Codeausführung:
['color' => 'red', 2 => 'b']
Siehe auch
-
die Funktion
array_diff,
die Arrays nach Werten vergleicht -
die Funktion
array_intersect_key,
die übereinstimmende Schlüssel zurückgibt