Comment utiliser la fonction array_diff_uassoc en PHP pour utiliser la fonction de rappel afin de comparer les différences de tableaux en fonction des noms de clés et des valeurs de clés

王林
Libérer: 2023-06-26 16:56:01
original
1429 Les gens l'ont consulté

Dans le développement PHP, nous impliquons souvent de comparer les différences entre deux tableaux afin d'effectuer des opérations sur les données ou une synchronisation des données. Parmi elles, la fonction array_diff_uassoc fournie par PHP nous permet de comparer les différences de tableaux en fonction des noms de clés et des valeurs de clés. Cet article explique comment utiliser cette fonction.

  1. Function function

array_diff_uassoc La fonction est la fonction de comparaison des différences de tableau intégrée de PHP, qui peut comparer les différences entre plusieurs tableaux et les comparer en fonction à la clé Comparez le nom et la valeur de la clé pour renvoyer le tableau de différence.

La fonction est définie comme suit :

array array_diff_uassoc (array $array1, array $array2 [, array $... ], callable $key_compare_func)
Copier après la connexion

Parmi eux, $array1, $array2, etc. sont plusieurs tableaux à comparer, et $key_compare_func est une fonction de rappel utilisée pour comparer les noms de clés et les différences dans les valeurs clés.

  1. Comment utiliser

Utilisons un exemple pour montrer comment utiliser la fonction array_diff_uassoc.

Tout d'abord, nous définissons deux tableaux :

$array1 = array("a"=>"apple", "b"=>"banana", "c"=>"cherry", "d"=>"date");
$array2 = array("a"=>"apple", "b"=>"banana", "f"=>"fig");
Copier après la connexion

Ensuite, nous définissons une fonction de rappel personnalisée pour comparer la différence entre les noms de clés et les valeurs des clés :

function myfunction($key1, $key2, $value1, $value2)
{
    if ($key1 == $key2 && $value1 == $value2) {
        return 0;
    } else {
        return 1;
    }
}
Copier après la connexion
#🎜 🎜#Cette fonction accepte quatre paramètres, qui sont les noms de clé et les valeurs de clé des deux tableaux. Si les noms de clé et les valeurs de clé sont identiques, 0 est renvoyé, sinon 1 est renvoyé pour comparaison.

Enfin, nous appelons la fonction array_diff_uassoc pour effectuer l'opération de comparaison des différences de tableau :

$diff = array_diff_uassoc($array1, $array2, "myfunction");
print_r($diff);
Copier après la connexion

Les résultats de sortie sont les suivants :

Array
(
    [c] => cherry
    [d] => date
)
Copier après la connexion
Comme vous peut voir, la fonction renvoie la comparaison Le tableau de différence après cela, c'est-à-dire les éléments dans $array1 mais pas dans $array2. Ici, nous confirmons que les éléments « c » et « d » dans $array1 ne sont pas dans $array2 via le tableau de différence renvoyé.

Enfin, parlons des règles d'utilisation des fonctions de rappel :

    La fonction de rappel doit accepter 4 paramètres, dans l'ordre : nom de clé 1, nom de clé 2 , key Value 1, key value 2;
  • Une valeur de retour de 0 signifie que les deux noms de clé et valeurs de clé sont identiques, et une valeur de retour non-0 signifie que les deux clés les noms ou les valeurs clés sont différents.
    Summary
Cet article explique comment utiliser la fonction array_diff_uassoc pour effectuer une comparaison des différences de tableau, et comment le faire en fonction sur les noms de clés et les valeurs de clé. Comparaison des différences et un exemple de fonction de rappel est fourni à des fins de démonstration. Il convient de mentionner qu'il existe de nombreuses autres façons d'utiliser cette fonction, que vous pouvez essayer d'utiliser afin de mieux vous familiariser avec les règles d'utilisation de cette fonction.

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:php.cn
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