Comment utiliser la fonction de rappel pour comparer les noms de clés afin de calculer l'intersection des tableaux en PHP

WBOY
Libérer: 2024-03-19 12:40:01
avant
368 Les gens l'ont consulté

L'éditeur PHP Youzi vous présentera en détail comment utiliser la fonction de rappel pour comparer les noms de clés afin de calculer l'intersection des tableaux. En PHP, nous pouvons utiliser la fonction array_uintersect_assoc() combinée à une fonction de rappel personnalisée pour comparer des tableaux en fonction des noms de clés et renvoyer le résultat de l'intersection. Grâce à des exemples de code concis et des explications étape par étape, vous maîtriserez facilement cette compétence pratique, rendant votre développement PHP plus efficace et flexible.

PHP utilise la fonction de rappel pour comparer les noms de clés afin de calculer l'intersection des tableaux

 :

Pour calculer l'intersection de deux tableaux, c'est-à-dire des éléments qui partagent le même nom de clé, vous pouvez utiliser la fonction de phparray_intersect_key(). Cette fonction parcourt le premier tableau et vérifie si un élément avec la même clé existe dans le deuxième tableau à l'aide de la fonction de rappel fournie.

Voici la syntaxe de la fonction :

array_intersect_key(array $array1, array $array2, callable $key_compare_func)
Copier après la connexion

Parmi eux :

  • $array1 : le premier tableau
  • $array2 : Le deuxième tableau
  • $key_compare_func : Fonction de rappel pour comparer les noms de clés

La fonction de rappel doit accepter deux paramètres, représentant les deux noms de clés à comparer, et renvoyer une valeur booléenne indiquant si les deux noms de clés sont égaux.

L'exemple suivant montre comment calculer l'intersection de deux tableaux à l'aide de la fonction array_intersect_key(), โดยใช้ callback function เปรียบเทียบชื่อคีย์ :

<?php

$array1 = ["apple" => "green", "banana" => "yellow", "orange" => "orange"];
$array2 = ["apple" => "red", "banana" => "green", "pear" => "green"];

// 定义比较键名的回调函数
$key_compare_func = function($key1, $key2) {
return $key1 === $key2;
};

// 计算数组交集
$intersection = array_intersect_key($array1, $array2, $key_compare_func);

print_r($intersection);

?>
Copier après la connexion

Sortie :

Array
(
[apple] => green
[banana] => green
)
Copier après la connexion

Dans cet exemple, la fonction de rappel $key_compare_func 比较两个键名是否相等。只有 applebanana compare deux noms de clés pour vérifier leur égalité. Seules les clés apple et banana existent dans les deux tableaux, elles forment donc l'intersection.

Utilisez les fonctions anonymes :

Vous pouvez également utiliser des fonctions anonymes pour définir des fonctions de rappel afin de les rendre plus concises. Voici le même exemple utilisant des fonctions anonymes :

$intersection = array_intersect_key($array1, $array2, function($key1, $key2) {
return $key1 === $key2;
});
Copier après la connexion

Utilisation des fonctions fléchées (PHP 7.4 et supérieur) :

En PHP 7.4 et supérieur, vous pouvez utiliser les fonctions fléchées pour simplifier davantage votre code :

$intersection = array_intersect_key($array1, $array2, fn($key1, $key2) => $key1 === $key2);
Copier après la connexion

Comparaison des noms de clés personnalisés :

La fonction de rappel permet une logique de comparaison personnalisée des noms de clés. Par exemple, vous pouvez utiliser la fonction de rappel suivante pour comparer les noms de clés sans tenir compte de la casse :

$key_compare_func = function($key1, $key2) {
return strtolower($key1) === strtolower($key2);
};
Copier après la connexion

De cette façon, même si les noms de clés des tableaux sont dans des cas différents, l'intersection sera calculée correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!