(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_ukey — Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
   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.
  
Anders als von array_diff_key() wird eine vom Benutzer definierte Callbackfunktion für die Vergleiche anstelle einer eingebauten Funktion verwendet.
arrayDas Array, das verglichen werden soll
arraysArrays zum Vergleichen
key_compare_funcDie 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.
  Wenn die Vergleichsfunktion nicht-ganzzahlige Werte
  zurückgibt, z. B. vom Typ float, wird der Rückgabewert des
  Callbacks intern in den Typ int umgewandelt. Werte wie
  0.99 und 0.1 werden also beide in
  einen Integer-Wert von 0 umgewandelt, wodurch diese Werte
  als gleichwertig eingestuft werden.
 
   Gibt ein Array mit allen Einträgen von
   array zurück, die in keinem der
   anderen Arrays vorhanden sind.
  
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)
}
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.