(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_key — Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
Vergleicht die Schlüssel von array
mit
den Schlüsseln von arrays
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.
array
Das Array, das verglichen werden soll
arrays
Arrays zum Vergleichen
Gibt ein Array mit allen Einträgen von
array
zurück, deren Schlüssel in keinem
der anderen 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_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, 'gelb' => 7, 'türkis' => 8);
var_dump(array_diff_key($array1, $array2));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(3) { ["blau"]=> int(1) ["rot"]=> int(2) ["violett"]=> int(4) }
<?php
$array1 = array('blau' => 1, 'rot' => 2, 'grün' => 3, 'violett' => 4);
$array2 = array('grün' => 5, 'gelb' => 7, 'türkis' => 8);
$array3 = array('blau' => 6, 'gelb' => 7, 'blasslila' => 8);
var_dump(array_diff_key($array1, $array2, $array3));
?>
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.