array_diff_key
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_key — Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
Beschreibung
$array
, array ...$arrays
): array
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.
Parameter-Liste
-
array
-
Das Array, das verglichen werden soll
-
arrays
-
Arrays zum Vergleichen
Rückgabewerte
Gibt ein Array mit allen Einträgen von
array
zurück, deren Schlüssel in keinem
der anderen Arrays vorhanden sind.
Changelog
Version | Beschreibung |
---|---|
8.0.0 | Diese Funktion kann jetzt mit nur einem Parameter aufgerufen werden. Zuvor waren mindestens zwei Parameter erforderlich. |
Beispiele
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) }
Anmerkungen
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.
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_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 zusätzlicher Indexprüfung
- array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
- array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
- array_intersect_ukey() - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches