Array Funktionen
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7)

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

Beschreibung

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

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.

Anders als von array_diff_key() wird eine vom Benutzer definierte Callbackfunktion für die Vergleiche anstelle einer eingebauten Funktion verwendet.

Parameter-Liste

array1

Das Array, das verglichen werden soll

array2

Das Array, mit dem verglichen werden soll

...

Weitere Arrays, mit denen verglichen werden soll

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

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

Beispiele

Beispiel #1 array_diff_ukey()-Beispiel

<?php
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'grün' => 3'violett' => 4);
$array2 = array('grün' => 5'blau' => 6'gelb' => 7'türkis'  => 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)
}

Anmerkungen

Hinweis:

Diese Funktion prüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich können Sie tiefere Dimensionen prüfen, indem Sie z.B. array_diff_ukey($array1[0], $array2[0], 'callback_func'); benutzen.

Siehe auch


Array Funktionen
PHP Manual