Fonction array_uintersect() en PHP
Exemple
Comparer les valeurs des clés de deux arrays (en utilisant une fonction de comparaison personnalisée) et retourner l'intersection :
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"blue","b"=>"black","e"=>"blue"); $result=array_uintersect($a1,$a2,"myfunction"); print_r($result); ?>
Définition et utilisation
La fonction array_uintersect() est utilisée pour comparer les valeurs des clés de deux (ou plusieurs) arrays et retourne l'intersection.
Remarque :Cette fonction utilise une fonction de comparaison personnalisée pour comparer les valeurs des clés.
Cette fonction compare les valeurs des clés de deux (ou plusieurs) arrays et retourne un array d'intersection, qui contient tous les éléments des arrays comparés (array1) et également dans tout autre tableau de paramètres (array2 ou array3 etc.) des clés.
Syntaxe
array_uintersect(array1,array2,array3...myfunction)
Paramètres | Description |
---|---|
array1 | Obligatoire. Premier array à comparer avec d'autres arrays. |
array2 | Obligatoire. Array à comparer avec le premier array. |
array3,... | Optionnel. Autres arrays à comparer avec le premier array. |
myfunction |
Obligatoire. Valeur de chaîne, définissant la fonction de comparaison appelable. Si le premier paramètre est inférieur ou égal à ou supérieur au second paramètre, la fonction de comparaison doit retourner un entier inférieur ou égal à ou supérieur à 0. |
Explication
Utiliser une fonction de rappel personnalisée myfunction Pour calculer l'intersection de deux ou plusieurs arrays (c'est-à-dire array1 Il contient tous les éléments d'arrays qui existent à la fois dans cet array et dans d'autres arrays.
Seulement la comparaison des valeurs des clés est effectuée, sans comparaison du nom de la clé, par exemple, "a"=>1 et "b"=>1 ces deux éléments sont considérés comme égaux.
myfunction La fonction spécifiée par les paramètres est utilisée pour comparer si les éléments sont égaux.myfunction La fonction prend 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, retourne 0, et si le premier paramètre est supérieur au second, retourne un nombre positif.
Les noms des clés dans le tableau retourné restent inchangés.
Détails techniques
Retour : |
Retourne un tableau contenant toutes les array1 contient toutes les unités présentes à la fois dans tous les autres tableaux. Retourne un tableau d'intersection qui contient toutes les unités présentes dans tous les tableaux comparés (array1) et également dans tout autre tableau de paramètres (array2 ou array3 etc.) des clés. |
Version PHP : | 5+ |
Plus d'exemples
Exemple 1
Comparer les clés et les valeurs de trois tableaux (utiliser une fonction utilisateur personnalisée pour comparer les clés et les valeurs) et retourner l'intersection :
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_uintersect($a1,$a2,$a3,"myfunction"); print_r($result); ?>