Funktion array_diff_ukey
Die Funktion array_diff_ukey vergleicht die Schlüssel mehrerer Arrays und gibt die Elemente aus dem ersten Array zurück, deren Schlüssel in den anderen Arrays nicht vorhanden sind. Für den Schlüsselvergleich wird eine benutzerdefinierte Callback-Funktion verwendet. Der erste Parameter ist das Hauptarray, die folgenden Parameter sind die Arrays zum Vergleich, und der letzte Parameter ist die Callback-Funktion.
Syntax
array_diff_ukey(array $array1, array $array2 [, array $... ], callable $key_compare_func): array
Beispiel
Vergleichen wir zwei Arrays nach Schlüsseln mit der Callback-Funktion strcasecmp (Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung):
<?php
$array1 = ['A' => 1, 'b' => 2, 'C' => 3];
$array2 = ['a' => 4, 'B' => 5];
$res = array_diff_ukey($array1, $array2, 'strcasecmp');
print_r($res);
?>
Ergebnis der Codeausführung:
['C' => 3]
Beispiel
Vergleichen wir drei Arrays mit einer benutzerdefinierten Callback-Funktion:
<?php
function keyCompare($key1, $key2) {
return $key1 <=> $key2;
}
$array1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$array2 = [1 => 'd', 4 => 'e'];
$array3 = [2 => 'f'];
$res = array_diff_ukey($array1, $array2, $array3, 'keyCompare');
print_r($res);
?>
Ergebnis der Codeausführung:
[3 => 'c']
Siehe auch
-
die Funktion
array_diff,
die Arrays nach Werten vergleicht -
die Funktion
array_diff_key,
die Arrays nach Schlüsseln vergleicht -
die Funktion
array_udiff,
die Arrays über eine Callback-Funktion vergleicht