En tant que langage de programmation largement utilisé, PHP possède une riche bibliothèque de fonctions pour simplifier diverses tâches de développement. Les tableaux sont l'une des structures de données les plus couramment utilisées en PHP et fournissent un grand nombre de fonctions intégrées pour manipuler et traiter les tableaux. Dans cet article, nous nous concentrerons sur une fonction spécifiquement utilisée pour comparer les noms de clés du tableau - array_intersect_ukey () pour vous aider à mieux comprendre et l'utiliser.
Array_INTERSECT_UKEY () est utilisé pour comparer les noms de clés de deux tableaux ou plus et renvoyer la pièce avec les mêmes noms de clé. Cette fonction prend en charge non seulement le passage de plusieurs tableaux, mais permet également aux fonctions de rappel personnalisées de déterminer les règles de comparaison pour les noms de clés.
array_intersect_ukey (array1, array2, array3 ..., callback_function)
Array1 : requis, le premier tableau pour participer à la comparaison.
Array2 : requis, le deuxième tableau participant à la comparaison.
Array3, ... : Facultatif, le tableau pour participer à la comparaison à l'avenir.
callback_function : fonction de rappel facultative et personnalisée pour comparer les noms de clés. S'il n'est pas spécifié, PHP utilisera la méthode de comparaison de nom de clé par défaut.
Renvoie un tableau contenant tous les noms de clés qui existent dans tous les tableaux entrants. Si aucune intersection n'est trouvée, un tableau vide est retourné.
La fonction de rappel reçoit deux noms de clés comme paramètres et doit renvoyer un entier: lorsque la valeur de retour est 0, cela signifie que les deux noms de clés sont les mêmes; Lorsque la valeur de retour est non nul, cela signifie que les noms de clés sont différents. Grâce à la fonction de rappel, vous pouvez contrôler de manière flexible les détails de la comparaison du nom de la clé, comme ignorer la partie supérieure et les minuscules, etc.
Exemple de fonction de rappel:
function myfunction($key1, $key2) {
if ($key1 == $key2)
return 0;
elseif ($key1 > $key2)
return 1;
else
return -1;
}
L'exemple suivant montre comment utiliser array_intersect_ukey () pour comparer les noms de clés de deux tableaux et utiliser la fonction Strcasecmp () intégrée de PHP pour implémenter la comparaison insensible à la casse des noms de clés:
$first_array = array('a' => 'red', 'b' => 'green', 'c' => 'blue');
$second_array = array('a' => 'apple', 'b' => 'banana', 'd' => 'orange');
$result = array_intersect_ukey($first_array, $second_array, 'strcasecmp');
print_r($result);
Résultat de sortie:
Array
(
[a] => red
[b] => green
)
Dans l'exemple, la fonction utilise StrCasecmp () pour correspondre aux noms de clés "A" et "B", renvoyant ainsi les éléments correspondant à ces deux clés.
1. Array_INTERSECT_UKEY () ne compare que les noms de clés du tableau et ne compare pas les valeurs correspondantes.
2. Le type de nom de clé doit être cohérent, sinon il peut être jugé comme des clés différentes (telles que les clés entières et les clés de chaîne).
3. La fonction de rappel doit être aussi légère que possible pour améliorer les performances lors du traitement de grands tableaux.
Cet article présente les fonctions, l'utilisation et les exemples pratiques de la fonction Array_INTERSECT_UKEY () dans PHP. Cette fonction implémente la requête d'intersection du nom de clé de plusieurs tableaux en comparant les noms de clés du tableau et prend en charge les fonctions de rappel personnalisées pour implémenter la logique de comparaison du nom de clé flexible. Après avoir maîtrisé cette fonction, vous pouvez simplifier efficacement le travail de filtrage de données lié aux noms de clés, améliorer l'efficacité de maintenabilité et d'exécution du code.