array_diff_ukey () est une fonction de tableau construite en php qui compare les noms de clés de deux tableaux ou plus et renvoie leurs différences. Cette fonction compare les noms de clés en fonction des fonctions de comparaison définies par l'utilisateur au lieu de comparer directement les valeurs du tableau. Il est très utile lorsque vous traitez des données de tableau complexes, en particulier lorsque vous devez personnaliser les comparaisons par des noms de clés.
Cet article introduira en détail la syntaxe de base, les méthodes d'utilisation et les utilisations courantes de la fonction array_diff_ukey () .
La syntaxe de base de array_diff_ukey () est la suivante:
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ Array1 : Il s'agit du premier tableau à comparer.
$ array2 : Il s'agit du deuxième tableau à comparer.
$ key_compare_func : Il s'agit d'une fonction de rappel qui compare la taille des noms de clés dans deux tableaux. Cette fonction reçoit deux noms de clés comme paramètres, et la valeur de retour doit suivre les règles suivantes:
Renvoie une valeur négative si le premier nom de clé est plus petit que le second.
Renvoie zéro si les deux noms de clés sont égaux.
Renvoie une valeur positive si le premier nom de clé est supérieur à la seconde.
array_diff_ukey () renvoie un tableau contenant tous les éléments correspondant aux noms de clés dans $ array1 mais pas dans $ array2 .
Utilisons un exemple simple pour illustrer comment utiliser array_diff_ukey () .
<?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
)
Dans cet exemple, array_diff_ukey () compare les noms de clés dans $ array1 et $ array2 , et détermine les noms de clés dans $ array1 et non dans $ array2 en fonction de la valeur de retour de la fonction compare_keys . Le tableau final retourné n'a que le nom de clé A , car il n'existe pas dans $ array2 .
Trouvez des noms clés qui sont dans un tableau mais pas dans un autre tableau Il s'agit du scénario d'utilisation le plus courant. array_diff_ukey () est très utile lorsque vous avez plusieurs tableaux et que vous souhaitez découvrir les clés uniques dans l'un des tableaux.
Filtrez les clés existantes dans le tableau Si vous avez un grand tableau et que vous souhaitez supprimer toutes les touches qui sont déjà apparues dans un autre tableau, vous pouvez utiliser cette fonction pour effectuer l'opération de filtrage.
Fonction de comparaison de clés personnalisée array_diff_ukey () vous permet de fournir une fonction de comparaison de clé personnalisée, afin que vous puissiez utiliser une logique plus flexible lors de la comparaison des tableaux. Ceci est très utile pour certains scénarios d'application complexes.
array_diff_ukey () compare uniquement les noms de clés et ne considère pas les valeurs dans le tableau.
Si vous souhaitez comparer les clés et les valeurs d'un tableau en même temps, vous pouvez utiliser array_diff_assoc () ou array_diff () .
Cette fonction doit fournir une fonction de rappel valide pour comparer les noms de clés, sinon il entraînera une erreur.
array_diff_ukey () est une fonction très utile en PHP, en particulier adapté aux scénarios où des comparaisons complexes sont requises par des noms de clés. Avec des fonctions de rappel flexibles, vous pouvez facilement implémenter diverses logiques de comparaison de nom de clé personnalisées. J'espère que cet article vous aidera à mieux comprendre comment utiliser la fonction array_diff_ukey () .