La fonction array_intersect_uassoc()
est utilisée pour comparer les noms de clés et les valeurs de clés de deux (ou plus) tableaux et renvoie l'intersection.
Remarque: Cette fonction utilise une fonction définie par l'utilisateur pour comparer les noms de clés!
La fonction compare les noms de clés et les valeurs de clés de deux (ou plus) tableaux et renvoie un tableau d'intersection qui inclut tous les noms de clés et valeurs de clé dans le tableau comparé ( Array1 ) et également dans tout autre tableau de paramètres ( Array2 ou Array3 , etc.).
Comparez les noms de clés et les valeurs de clés de deux tableaux (en utilisant des fonctions définies par l'utilisateur pour comparer les noms de clés) et renvoyez l'intersection:
<? Php Fonction MyFunction ( $ a , $ b ) { if ( $ a === $ b ) { retour 0 ; } retour ( $ a > $ b ) ? 1 : - 1 ; } $ a1 = array ( "a" => "red" , "b" => "vert" , "c" => "bleu" ) ; $ a2 = array ( "d" => "red" , "b" => "vert" , "e" => "bleu" ) ; $ résultat = array_INTERSECT_UASSOC ( $ A1 , $ A2 , "MyFunction" ) ; print_r ( $ result ) ; ?>
Essayez-le vous-même
Comparez les noms de clés et les valeurs de clé de trois tableaux (en utilisant des fonctions définies par l'utilisateur pour comparer les noms de clés) et renvoyez l'intersection:
<? Php Fonction MyFunction ( $ a , $ b ) { if ( $ a === $ b ) { retour 0 ; } retour ( $ a > $ b ) ? 1 : - 1 ; } $ a1 = array ( "a" => "red" , "b" => "vert" , "c" => "bleu" ) ; $ a2 = array ( "a" => "red" , "b" => "vert" , "d" => "bleu" ) ; $ a3 = array ( "e" => "jaune" , "a" => "rouge" , "d" => "bleu" ) ; $ résultat = Array_INTERSECT_UASSOC ( $ A1 , $ A2 , $ A3 , "MyFunction" ) ; print_r ( $ result ) ; ?>
Essayez-le vous-même
array_INTERSECT_UASSOC ( array1 , array2 , array3 ... , myfunction )
paramètre | décrire |
---|---|
Array1 | Requis. Le premier tableau qui est comparé aux autres tableaux. |
Array2 | Requis. Le tableau qui se compare au premier tableau. |
Array3 , ... | Facultatif. Autres tableaux comparés au premier tableau. |
myfonctionnement | Requis. Définit une chaîne qui appelle la fonction de comparaison. Si le premier paramètre est inférieur à, égal ou supérieur au deuxième paramètre, la fonction de comparaison doit renvoyer un entier inférieur à, égal ou supérieur à 0. |
La fonction array_intersect_uassoc()
utilise une fonction de rappel définie par l'utilisateur pour calculer l'intersection du tableau et comparer les index avec la fonction de rappel.
array_intersect_uassoc()
renvoie un tableau contenant toutes les valeurs qui apparaissent dans Array1 en même temps dans tous les autres tableaux de paramètres. Le nom de clé renvoyé reste inchangé.
Notez que la différence par rapport à array_intersect()
est qu'en plus de comparer les valeurs de clés, les noms de clés doivent également être comparés.
Cette comparaison se fait via une fonction de rappel fournie par l'utilisateur. Cette fonction prend deux paramètres, à savoir les deux noms de clés à comparer. Si le premier paramètre est plus petit que le deuxième paramètre, la fonction renvoie un nombre négatif, si les deux paramètres sont égaux, il renvoie 0, et si le premier paramètre est plus grand que le deuxième paramètre, il renvoie un nombre positif.