ARRAY_INTERSECT_ASSOC |
Tableau : Intersection associé |
PHP 4.3.0+ |
Syntaxe
function array_intersect_assoc($array1, $array2);
|
function array_intersect_assoc($array1, $array2, [...]);
|
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. |
... |
Ce paramètre permet d'indiquer un ou plusieurs tableau à comparer. |
Retour
Valeur |
Description |
tableau |
Ce type de données permet d'indiquer le résultat de l'intersection |
Description
Cette fonction permet de retourner le résultat de l'intersection de tableau sous forme d'un tableau associatif.
Remarques
- Comparaison des clefs et des valeurs : Contrairement à array_intersect(), la fonction array_intersect_assoc() compare non seulement les valeurs des
éléments, mais également leurs clés associées. Cela signifie qu'un élément sera inclus dans le résultat uniquement si la clef et la valeur correspondent dans tous les tableaux
fournis.
- Strictement sensible aux clefs : La sensibilité aux clefs permet à array_intersect_assoc() d'être utile pour comparer des tableaux associatifs. Par exemple,
elle est idéale pour vérifier si deux tableaux contiennent les mêmes paires clef-valeur, ce qui est essentiel dans les contextes de configuration ou de données structurées.
- Non-recursive : array_intersect_assoc() ne fonctionne pas de manière récursive. Si les tableaux contiennent des sous-tableaux, la fonction ne compare que les
clefs et les valeurs du niveau supérieur. Pour une comparaison en profondeur, il faudrait écrire une fonction personnalisée.
- Pas de réindexation des clefs : Le tableau retourné par array_intersect_assoc() conserve les clefs d'origine des éléments correspondants. Les clefs ne sont pas
réindexées, ce qui peut être utile si vous devez conserver la structure ou les indices originaux dans les tableaux comparés.
- Comparaison stricte des valeurs et des clefs : array_intersect_assoc() utilise une comparaison stricte (===) pour les valeurs et les clefs. Cela signifie qu'une
clef numérique 1 ne sera pas considérée comme identique à une clef chaîne de caractères "1". Cela garantit une correspondance précise entre les types.
- Perte de performance avec de grands tableaux : La comparaison clé-valeur dans plusieurs tableaux peut entraîner une diminution des performances, surtout si les
tableaux sont volumineux. Chaque paire clef-valeur doit être examinée pour déterminer si elle existe dans les autres tableaux, ce qui peut augmenter le temps d'exécution.
- Applications pratiques : array_intersect_assoc() est particulièrement utile pour comparer des tableaux contenant des données associatives comme des
configurations, des paramètres ou des enregistrements de bases de données. Par exemple, elle peut être utilisée pour identifier les paires clef-valeur communes entre plusieurs
ensembles de données.
- Limites avec les types complexes : Comme pour d'autres fonctions PHP, array_intersect_assoc() ne peut pas comparer directement des objets ou des tableaux
imbriqués en tant que clefs ou valeurs. Si un tableau contient des types complexes, il faut une approche personnalisée pour effectuer des comparaisons.
Dernière mise à jour : Dimanche, le 22 mars 2015