ARRAY_INTERSECT_UASSOC |
Tableau : Intersection désassocié |
PHP 5+ |
Syntaxe
function array_intersect_uassoc($array1, $array2, $key_compare_func);
|
function array_intersect_uassoc($array1, $array2, [...], $key_compare_func);
|
Paramètres
Nom |
Description |
$array1 |
Ce paramètre permet d'indiquer le premier tableau à comparer. |
$array2 |
Ce paramètre permet d'indiquer le deuxième tableau à comparer. |
$key_compare_func |
Ce paramètre permet d'indiquer une fonction devant appeler pendant la comparaison. |
Retour
Valeur |
Description |
tableau |
Ce type de données permet d'indiquer le tableau traité |
Description
Cette fonction permet de retourner le résultat de l'intersection de tableau sous forme d'un tableau associatif en utilisant une fonction utilisateur de comparaison.
Remarques
- Comparaison des valeurs et des clefs avec une fonction utilisateur : La fonction array_intersect_uassoc() compare les valeurs des éléments des tableaux
comme array_intersect_assoc(), mais permet également de comparer les clefs en utilisant une fonction de rappel personnalisée. Cette flexibilité permet de définir une
logique de comparaison spécifique pour les clefs.
- Utilisation de la fonction de rappel pour les clefs uniquement : La comparaison des valeurs se fait toujours en mode strict (===), mais les clefs sont comparées
à l'aide de la fonction utilisateur fournie. Cela permet de gérer des comparaisons complexes ou spécifiques pour les clefs, comme des transformations ou des normalisations avant
comparaison.
- Non-pertinence des types pour les clefs dans la fonction de rappel : La fonction de rappel utilisée pour comparer les clefs n'impose pas de stricte vérification
des types. Cela signifie que vous pouvez personnaliser le comportement, par exemple, pour traiter une clef entière 1 comme identique à une clef chaîne de caractères "1", si nécessaire.
- Non-récursivité : Comme les autres fonctions d'intersection, array_intersect_uassoc() ne compare que les éléments du niveau supérieur des tableaux. Si les
clefs ou les valeurs contiennent des tableaux imbriqués, la comparaison ne sera pas effectuée en profondeur. Il faut donc des approches supplémentaires pour manipuler des tableaux
multidimensionnels.
- Perte de performance due à la fonction de rappel : L'utilisation d'une fonction utilisateur pour la comparaison des clefs peut ralentir les performances, surtout
pour de grands tableaux. Chaque clé est passée à la fonction de rappel, ce qui peut augmenter le temps de traitement selon la complexité de la fonction.
- Applications dans des contextes spécifiques : Cette fonction est particulièrement utile lorsque les clefs des tableaux doivent être comparées d'une manière
personnalisée. Par exemple, elle peut être utilisée pour comparer des clés en ignorant la casse (strtolower) ou en utilisant une logique métier spécifique.
- Maintien des clefs et des valeurs : Le tableau retourné par array_intersect_uassoc() conserve à la fois les clefs et les valeurs des éléments étant communs
entre les tableaux comparés. Cela en fait une fonction idéale pour filtrer des tableaux associatifs tout en respectant des règles complexes pour les clefs.
- Gestion des doublons et des conflits : Comme avec array_intersect_assoc(), les doublons dans les clefs ou les valeurs ne sont pas pris en compte : chaque
paire clef-valeur unique est incluse une seule fois dans le résultat, même si elle apparaît plusieurs fois dans le tableau de départ.
Dernière mise à jour : Dimanche, le 22 mars 2015