Forum und email

array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukey — Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

Beschreibung

array array_intersect_ukey ( array $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 Argumente 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.

Example#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 .

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