Forum und email

array_diff_key

(PHP 5 >= 5.1.0)

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

Beschreibung

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

array_diff_key() gibt ein Array zurück, welches alle Werte aus array1 enthält, die Schlüssel besitzen die in keinem der anderen Argumente enthalten sind. Beachten Sie, dass die Assoziativität erhalten bleibt. Diese Funktion arbeitet wie array_diff() mit dem Unterschied, dass der Vergleich mit den Schlüsseln statt den Werten arbeitet.

Example#1 array_diff_key() Beispiel

<?php
$array1 
= array('blau'  => 1'rot'  => 2'gruen'  => 3'violett' => 4);
$array2 = array('gruen' => 5'blau' => 6'gelb' => 7'tuerkis'   => 8);

var_dump(array_diff_key($array1$array2));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["rot"]=>
  int(2)
  ["violett"]=>
  int(4)
}

Die beiden Schlüssel des key => Wert Paares werden als gleich erachtet, genau dann wenn (string) $key1 === (string) $key2 . Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.

Hinweis: Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays prüft. Natürlich kann man tiefere Dimensionen überprüfen, indem man array_diff_key($array1[0], $array2[0]); verwendet.

Siehe auch array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_ukey(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc(), array_intersect_key() und array_intersect_ukey().