(PHP 5 >= 5.1.0)
array_diff_key — Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
Vergleicht die Schlüssel von array1 mit den Schlüsseln von array2 und gibt die Unterschiede zurück. Diese Funktion arbeitet wie array_diff() mit dem Unterschied, dass der Vergleich mit den Schlüsseln statt den Werten arbeitet.
Das Array, das verglichen werden soll
Das Array, mit dem verglichen werden soll
Weitere Arrays, mit denen verglichen werden soll
Gibt ein Array mit allen Einträgen von array1 zurück, deren Schlüssel in keinem der anderen Arrays vorhanden sind.
Beispiel #1 array_diff_key()-Beispiel
Die beiden Schlüssel des Schlüssel => Wert-Paares werden als gleich erachtet, genau dann wenn (string) $Schlüssel1 === (string) $Schlüssel2 . Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.
<?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_diff_key($array1, $array2));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(2) { ["rot"]=> int(2) ["violett"]=> int(4) }
Hinweis: Diese Funktion überprüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich kann man tiefere Dimensionen überprüfen, indem man array_diff_key($array1[0], $array2[0]); verwendet.