Compare les valeurs clés de deux tableaux (en utilisant une fonction définie par l'utilisateur pour comparer les valeurs clés) et renvoie l'intersection :
<?php fonction ma fonction ( $a , $b ) { si ( $a === $b ) { retour 0 ; } retour ( $ a > $ b ) ? $a1 = tableau ( " a " => " rouge " , " b " => " vert " , " c " => " bleu " ) ; $a2 = tableau ( " a " => " bleu " , " b " = > " noir " , " e " = > " bleu " ) ; $ result = array_uintersect ( $ a1 , $ a2 , " ma fonction " ) ;La fonction array_uintersect() compare les valeurs clés de deux (ou plusieurs) tableaux et renvoie l'intersection.
Remarque : Cette fonction utilise une fonction définie par l'utilisateur pour comparer les valeurs clés !
Cette fonction compare les valeurs clés de deux (ou plus) tableaux et renvoie un tableau d'intersection qui inclut toutes les valeurs du tableau comparé ( array1 ), ainsi que tout autre tableau de paramètres ( array2 ou array3, etc.) ) dans la valeur clé.
array_uintersect( array1,array2,array3...,mafonction )
paramètre | décrire |
---|---|
tableau1 | Requis. Le premier tableau à comparer avec d’autres tableaux. |
tableau2 | Requis. Le tableau à comparer au premier tableau. |
tableau3,... | Facultatif. Tableau supplémentaire à comparer avec le premier tableau. |
ma fonction | Requis. Chaîne qui définit une fonction de comparaison appelable. Si le premier paramètre <, =, > le deuxième paramètre, la fonction de comparaison correspondante doit renvoyer un entier <, =, > 0. |
Valeur de retour : | Renvoie un tableau d'intersection contenant toutes les clés du tableau comparé ( array1 ) et tout autre tableau de paramètres ( array2 ou array3 , etc.). |
---|---|
Version PHP : | 5+ |
Utilisez la fonction intégrée strcasecmp pour ignorer les comparaisons de cas et renvoyer l'intersection :
<?php $array1 = array ( " a " => " vert " , " b " => " marron " , " c " => " bleu " , " rouge " ) $array2 = array ( " a " => " VERT ") ; , " B " => " marron " , " jaune " , " rouge " ) ; print_r ( array_uintersect ( $array1 , $array2 , " strcasecmp " ) ? > ;