array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_intersect_ukeyErmittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

Beschreibung

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

Parameter-Liste

array1

Eingabe-Array für den Vergleich der Arrays.

array2

Erstes Array gegen das die Schlüssel verglichen werden sollen.

...

Variable Liste von Array-Argumenten, gegen die die Schlüssel verglichen werden sollen.

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.

callback ( mixed $a, mixed $b ) : int

Rückgabewerte

Gibt alle Werte von array1 zurück, deren Schlüssel in allen Argumenten existieren.

Beispiele

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.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_diff_key() - Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
  • array_diff_ukey() - Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht