(PHP 5 >= 5.1.0, PHP 7)
array_intersect_ukey — Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches
$array1
   , array $array2
   [, array $...
   ], callable $key_compare_func
   ) : array
   array_intersect_ukey() gibt ein Array zurück, welches
   alle Werte von array1 enthält, die Schlüssel
   besitzen, die in allen anderen Argumenten enthalten sind.
  
array1Eingabe-Array für den Vergleich der Arrays.
array2Erstes Array gegen das die Schlüssel verglichen werden sollen.
...Variable Liste von Array-Argumenten, gegen die die Schlüssel verglichen werden sollen.
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.
   Gibt alle Werte von array1 zurück, deren
   Schlüssel in allen Argumenten existieren.
  
Beispiel #1 array_intersect_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_intersect_ukey($array1, $array2, 'key_compare_func'));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(2) {
  ["blau"]=>
  int(1)
  ["grün"]=>
  int(3)
})
   In unserem Beispiel sehen Sie, dass nur die Schlüssel 'blau'
   und 'grün' in beiden Arrays vorhanden sind und daher
   zurückgegeben werden. Beachten Sie auch, dass die Werte zu den Schlüsseln
   'blau' und 'grün' sich in beiden
   Arrays voneinander unterscheiden. Eine Übereinstimmung wird dennoch
   festgestellt, da nur die Schlüssel überprüft werden. Die zurückgegebenen
   Werte sind diejenigen aus array1.