Fonction array_uintersect_uassoc() de PHP
Exemple
Comparez les noms et les valeurs des clés de deux tableaux (utilisez des fonctions utilisateur définies pour la comparaison) et retournez l'intersection (match) :
<?php function myfunction_key($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } function myfunction_value($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } $a1 = array("a" => "red", "b" => "green", "c" => "blue"); $a2 = array("a" => "red", "b" => "green", "c" => "green"); $result=array_uintersect_uassoc($a1, $a2, "myfunction_key", "myfunction_value"); print_r($result); ?>
Définition et utilisation
La fonction array_uintersect_uassoc() compare les noms et les valeurs des clés de deux (ou plus) tableaux et retourne l'intersection.
Remarque :Cette fonction utilise deux fonctions utilisateur définies pour la comparaison ; la première fonction compare les noms des clés, et la deuxième fonction compare les valeurs des clés !
Cette fonction compare les noms et les valeurs des clés de deux (ou plus) tableaux et retourne un tableau d'intersection, qui contient toutes les entrées des tableaux comparés (array1etc.), ainsi que dans n'importe quel autre tableau de paramètres (array2 ou array3 etc.) des noms et des valeurs des clés.
Attention, avec array_uintersect() Différent est que les noms des clés doivent également être comparés. Les valeurs et les noms des indices (clés) sont comparés par des fonctions de rappel.
Syntaxe
array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Paramètres | Description |
---|---|
array1 | Obligatoire. Premier tableau à comparer avec d'autres tableaux. |
array2 | Obligatoire. Tableau à comparer avec le premier tableau. |
array3,... | Optionnel. Autres tableaux à comparer avec le premier tableau. |
myfunction_key |
Obligatoire. Nom de la fonction utilisateur personnalisée utilisée pour comparer les noms des clés des tableaux. Définir une fonction de comparaison appelable. Si le premier paramètre est inférieur, égal ou supérieur au second paramètre, la fonction de comparaison doit retourner un entier inférieur, égal ou supérieur à 0. |
myfunction_value |
Obligatoire. Nom de la fonction utilisateur personnalisée utilisée pour comparer les valeurs des tableaux. Définir une fonction de comparaison appelable. Si le premier paramètre est inférieur, égal ou supérieur au second paramètre, la fonction de comparaison doit retourner un entier inférieur, égal ou supérieur à 0. |
Utiliser une fonction de rappel utilisateur personnalisée myfunction_key et myfunction_value pour calculer l'intersection de deux ou plusieurs tableaux (c'est-à-dire array1 présents à la fois dans le tableau et dans d'autres tableaux, et retourne le tableau de résultat.
La comparaison des noms des clés et des valeurs est effectuée simultanément, par exemple, les éléments "a"=>1 et "b"=>1 sont inégaux.
myfunction_key Les fonctions spécifiées sont utilisées pour comparer si les noms des clés sont égaux.myfunction_value Les fonctions spécifiées sont utilisées pour comparer si les valeurs des clés sont égales. Ces deux fonctions ont deux paramètres à comparer. Si le premier paramètre est inférieur au second, la fonction retourne un nombre négatif, si les deux paramètres sont égaux, il faut retourner 0, et si le premier paramètre est supérieur au second, retourner un nombre positif.
Les noms des clés dans le tableau retourné restent inchangés.
Détails techniques
Valeur de retour : | Retourne un tableau contenant tous les éléments array1 unités présentes à la fois dans tous les autres tableaux. |
Version PHP : | 5+ |