ARRAY_DIFF_UASSOC |
Tableau : Différence désassocié |
PHP 5+ |
Syntaxe
function array_diff_uassoc($array1, $array2, $key_compare_func);
|
function array_diff_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. Cette fonction devra retourner -1 (inférieur), 0 (égalité) ou 1 (supérieur). |
Retour
Valeur |
Description |
tableau |
Ce type de données permet d'indiquer la liste des clefs et valeurs n'étant pas identique entre les tableaux spécifiés |
Description
Cette fonction permet de retourner un tableau indiquant la liste des combinaisons de clefs et de valeurs n'étant pas identique dans les autres tableaux spécifié.
Remarques
- But principal : La fonction array_diff_uassoc permet de comparer les tableaux en tenant compte à la fois des clés et des valeurs, tout en permettant une
comparaison personnalisée des valeurs grâce à une fonction de rappel (callback). Cette fonction retourne un tableau contenant les éléments du premier tableau dont les clefs
et les valeurs ne sont pas présentes dans les autres tableaux, selon la comparaison définie.
- Comparaison des clefs et des valeurs : Contrairement à d'autres fonctions comme array_diff ou array_diff_assoc, array_diff_uassoc permet de
comparer non seulement les clefs mais aussi les valeurs. La comparaison des valeurs utilise une fonction de comparaison utilisateur, ce qui permet de personnaliser la logique de
comparaison.
- Fonction de comparaison personnalisée : Le paramètre supplémentaire est la fonction de rappel (callback) permettant de définir comment les valeurs doivent être
comparées. Cette fonction prend deux paramètres, étant les valeurs à comparer, et doit retourner un entier (comme strcmp ou une comparaison stricte selon les besoins).
- Comparaison stricte des clefs : Les clefs sont comparées de manière stricte (comme dans array_diff_assoc), ce qui signifie que le type des clefs doit
correspondre exactement pour qu'elles soient considérées comme égales. Cela permet d'éviter des incohérences liées aux types de données (par exemple, "1" vs 1).
- Ordre des paramètres : Comme pour d'autres fonctions de comparaison de tableaux, l'ordre des paramètres est crucial. Le premier tableau est celui servant de
référence pour la comparaison des clefs et des valeurs, et les autres tableaux sont ceux avec lesquels les différences seront évaluées.
- Cas des tableaux vides : Si le premier tableau est vide, array_diff_uassoc retournera un tableau vide, quelle que soit la taille des autres tableaux.
De même, si les tableaux de comparaison sont vides, le premier tableau sera retourné dans son intégralité.
- Applications pratiques : Cette fonction est idéale dans des situations où il faut effectuer des comparaisons complexes entre des tableaux associatifs. Par
exemple, elle peut être utilisée pour comparer des configurations avec des critères personnalisés ou pour détecter des différences dans des ensembles de données où la comparaison
standard n'est pas suffisante.
- Performance : Bien que cette fonction soit flexible grâce à l'utilisation d'une fonction de rappel, elle peut être moins performante que des fonctions plus simples
comme array_diff_assoc ou array_diff_key si la fonction de comparaison est complexe. Il est donc conseillé de l'utiliser lorsque des comparaisons personnalisées sont
réellement nécessaires.
Dernière mise à jour : Dimanche, le 22 mars 2015