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

# 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

function array_diff_key(array `$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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open