PHP Portal » PHP Handbuch » array_diff_ukey

Werbung

array_diff_ukey


(PHP 5 >= 5.1.0)

array_diff_ukeyBerechnet den Unterschied von Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel

Beschreibung

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_diff_ukey() gibt ein Array zurück, welches alle Werte von array1 enthält, deren Schlüssel in keinem der anderen Argumente vorkommen. Beachten Sie, dass die Assoziativität erhalten bleibt. Diese Funktion ähnelt array_diff(), aber der Vergleich arbeitet auf den Schlüsseln anstatt den Werten.

Dieser Vergleich wird von einer benutzerdefinierten Callbackfunktion durchgeführt. Diese muss einen Integer kleiner als, genau gleich oder größer als Null zurückgeben, wenn das erste Argument entsprechend als kleiner, gleich oder größer als das Zweite betrachtet wird.

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
function key_compare_func($key1, $key2) { if ($key1 == $key2) return 0; else if ($key1 > $key2) return 1; else return -1; } $array1 = array('blau' => 1, 'rot' => 2, 'gruen' => 3, 'violett' => 4); $array2 = array('gruen' => 5, 'blau' => 6, 'gelb' => 7, 'tuerkis' => 8); var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

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_ukey($array1[0], $array2[0], 'callback_func'); verwendet.

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