ARRAY_INTERSECT_KEY |
Tableau : Intersection de clef |
PHP 5.1.0+ |
Syntaxe
function array_intersect_key($array1, $array2);
|
function array_intersect_key($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 en utilisant uniquement les clefs comme élément de comparaison.
Remarques
- Comparaison basée sur les clefs uniquement : Contrairement à array_intersect() et array_intersect_assoc(), la fonction array_intersect_key() se
concentre uniquement sur les clefs des tableaux. Elle retourne un tableau contenant les éléments du premier tableau dont les clefs existent également dans tous les autres tableaux
donnés en paramètre, sans comparer les valeurs.
- Utilisation avec des tableaux associatifs : Cette fonction est particulièrement utile pour travailler avec des tableaux associatifs. Par exemple, elle peut être
utilisée pour filtrer un tableau en conservant uniquement les éléments correspondant à un sous-ensemble de clés spécifiques.
- Conserve les clefs originales : Les clefs du tableau retourné par array_intersect_key() restent intactes et ne sont pas réindexées. Cela permet de préserver
la structure originale des clefs, ce qui est pratique lorsque l'ordre ou les associations des clefs sont importants.
- Comparaison non stricte des clefs : Les clefs sont comparées par leur valeur brute, sans distinction stricte des types. Cela signifie qu'une clef entière 1 sera
considérée comme identique à une clef chaîne de caractères "1". Cela peut entraîner des résultats inattendus si les types des clefs diffèrent.
- Ignoration des valeurs : Les valeurs associées aux clefs ne sont pas prises en compte dans la comparaison. Même si les valeurs diffèrent entre les tableaux, tant
que les clefs correspondent, l'élément sera inclus dans le tableau résultant. Cela rend cette fonction rapide et efficace pour des opérations purement basées sur les clefs.
- Performance et mémoire : array_intersect_key() est souvent plus rapide que d'autres fonctions de comparaison comme array_intersect() ou
array_intersect_assoc(), car elle n'a pas besoin de vérifier les valeurs des éléments. Cependant, pour des tableaux très grands, les performances peuvent encore être
affectées.
- Applications pratiques : Cette fonction est couramment utilisée pour filtrer des tableaux en fonction d'un ensemble de clefs prédéfini, par exemple pour conserver
uniquement les colonnes pertinentes d'un tableau associatif ou pour vérifier si des champs spécifiques sont présents dans une configuration ou un ensemble de données.
- Non-recursive : Comme la plupart des fonctions d'intersection en PHP, array_intersect_key() n'est pas récursive. Elle ne compare que les clefs du
niveau supérieur d'un tableau. Si vous avez besoin d'une comparaison en profondeur, il faudra implémenter une fonction personnalisée.
Dernière mise à jour : Dimanche, le 22 mars 2015