(PHP 5 >= 5.1.0)
array_intersect_ukey — Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches
$array1
, array $array2
[, array $...
], callback $key_compare_func
)
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.
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.
array1
Eingabe-Array für den Vergleich der Arrays.
array2
Erstes Array gegen das die Schlüssel verglichen werden sollen.
array
Variable Liste von Array-Argumenten, gegen die die Schlüssel verglichen werden sollen.
key_compare_func
Benutzerdefinierte Callbackfunktion für den Vergleich.
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
.