Array_Diff_Ukey () ist eine in PHP integrierte Array -Funktion, die die Schlüsselnamen von zwei oder mehr Arrays vergleicht und ihre Unterschiede zurückgibt. Diese Funktion vergleicht Schlüsselnamen basierend auf benutzerdefinierten Vergleichsfunktionen, anstatt die Werte des Arrays direkt zu vergleichen. Es ist sehr nützlich, wenn Sie sich mit komplexen Array -Daten befassen, insbesondere wenn Sie Vergleiche mit Schlüsselnamen anpassen müssen.
In diesem Artikel wird die grundlegende Syntax, Verwendungsmethoden und gemeinsame Verwendungen der Funktion array_diff_ukey () vorgestellt.
Die grundlegende Syntax von Array_Diff_Ukey () lautet wie folgt:
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ array1 : Dies ist das erste Array, das man vergleichen kann.
$ array2 : Dies ist das zweite Array, das zu vergleichen ist.
$ key_compare_func : Dies ist eine Rückruffunktion, die die Größe der Schlüsselnamen in zwei Arrays vergleicht. Diese Funktion empfängt zwei Schlüsselnamen als Parameter, und der Rückgabewert sollte den folgenden Regeln folgen:
Gibt einen negativen Wert zurück, wenn der erste Schlüsselname kleiner als der zweite ist.
Gibt Null zurück, wenn die beiden Schlüsselnamen gleich sind.
Gibt einen positiven Wert zurück, wenn der erste Schlüsselname größer als der zweite ist.
array_diff_ukey () gibt ein Array zurück, das alle Elemente enthält, die den Schlüsselnamen in $ array1 entsprechen, jedoch nicht in $ array2 .
Verwenden wir ein einfaches Beispiel, um zu veranschaulichen, wie Sie Array_Diff_Ukey () verwenden.
<?php
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"b" => 4,
"c" => 5,
"d" => 6
];
function compare_keys($key1, $key2) {
return strcmp($key1, $key2);
}
$result = array_diff_ukey($array1, $array2, 'compare_keys');
print_r($result);
?>
Array
(
[a] => 1
)
In diesem Beispiel vergleicht Array_Diff_Ukey () die Schlüsselnamen in $ array1 und $ array2 und bestimmt, welche Schlüsselnamen in $ array1 und nicht in $ array2 basierend auf dem Rückgabewert der Funktion compare_keys . Das endgültige zurückgegebene Array hat nur den Schlüsselnamen A , da es in $ Array2 nicht existiert.
Finden Sie Schlüsselnamen, die sich in einem Array befinden, aber nicht in einem anderen Array Dies ist das am häufigsten verwendete Szenario. array_diff_ukey () ist sehr nützlich, wenn Sie mehrere Arrays haben und die Schlüssel herausfinden möchten, die in einem der Arrays einzigartig sind.
Filtern Sie vorhandene Schlüssel im Array heraus Wenn Sie ein großes Array haben und alle Tasten entfernen möchten, die bereits in einem anderen Array angezeigt wurden, können Sie diese Funktion verwenden, um den Filtervorgang durchzuführen.
Mit der benutzerdefinierten Schlüsselvergleichsfunktion Array_Diff_Ukey () können Sie eine benutzerdefinierte Schlüsselvergleichsfunktion bereitstellen, damit Sie beim Vergleichen von Arrays flexiblere Logik verwenden können. Dies ist sehr hilfreich für einige komplexe Anwendungsszenarien.
array_diff_ukey () vergleicht nur Schlüsselnamen und berücksichtigt die Werte im Array nicht.
Wenn Sie gleichzeitig Schlüssel und Werte eines Arrays vergleichen möchten, können Sie array_diff_assoc () oder array_diff () verwenden.
Diese Funktion muss eine gültige Rückruffunktion bereitstellen, um Schlüsselnamen zu vergleichen, andernfalls verursacht sie einen Fehler.
array_diff_ukey () ist eine sehr nützliche Funktion in PHP, insbesondere für Szenarien, in denen komplexe Vergleiche mit Schlüsseldamen erforderlich sind. Mit flexiblen Rückruffunktionen können Sie die Vergleichslogik für benutzerdefinierte Schlüsselname problemlos implementieren. Ich hoffe, dieser Artikel hilft Ihnen, besser zu verstehen, wie Sie die Funktion array_diff_ukey () verwenden.