array_diff_key

(PHP 5 >= 5.1.0, PHP 7)

array_diff_keyBerechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht

Beschreibung

array_diff_key ( array $array1 , array $array2 [, array $... ] ) : array

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.

Parameter-Liste

array1

Das Array, das verglichen werden soll

array2

Das Array, mit dem verglichen werden soll

...

Weitere Arrays, mit denen verglichen werden soll

Rückgabewerte

Gibt ein Array mit allen Einträgen von array1 zurück, deren Schlüssel in keinem der anderen Arrays vorhanden sind.

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 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