ARRAY_DIFF |
Différence de tableau |
PHP 4.0.1+ |
Syntaxe
function array_diff($array1, $array2);
|
function array_diff($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 |
Retour
Valeur |
Description |
tableau |
Ces éléments de tableau ne sont pas contenu dans tous les tableaux. |
Description
Cette fonction permet de demander tous les éléments ne se retrouvant dans tous les tableaux.
Remarques
- But principal : La fonction array_diff permet de comparer des tableaux et retourne un tableau contenant les valeurs du premier tableau n'étant pas présentes
dans les tableaux suivants. Cela peut être utile pour filtrer ou détecter des différences entre ensembles de données.
- Comparaison des valeurs : La comparaison se fait par la valeur uniquement, et non par la clef. Les valeurs sont comparées en utilisant la comparaison lâche (==), ce
qui peut entraîner des comportements inattendus si des types différents mais équivalents existent dans les tableaux.
- Clefs préservées : Les clefs associées aux valeurs du tableau d'origine sont conservées dans le tableau retourné. Cela peut être utile lorsque les clefs ont une
signification spécifique ou si elles doivent être maintenues pour un traitement ultérieur.
- Types supportés : Seules les valeurs scalaires (comme int, string, bool,...) sont prises en charge directement. Si le tableau contient des
objets ou des tableaux imbriqués, ils ne seront pas gérés correctement pour des comparaisons détaillées.
- Ordre des paramètres : L'ordre des paramètres est crucial. Le premier tableau est celui servant de référence, et les tableaux suivants sont ceux contre lesquels les
comparaisons sont effectuées. Inverser l'ordre peut produire des résultats complètement différents.
- Cas d'un tableau vide : Si le premier tableau est vide, la fonction retournera un tableau vide, peu importe le contenu des autres tableaux. En revanche, si les
autres tableaux sont vides, le résultat contiendra toutes les valeurs du premier tableau.
- Pas sensible à la casse : Pour les chaînes, la fonction est sensible à la casse. Par exemple, "PHP" et "php" seront considérés comme différents, ce qui peut être
exploité pour des comparaisons précises ou causer des erreurs inattendues si ce n'est pas prévu.
- Utilisation pratique : array_diff est fréquemment utilisé dans des cas comme l'exclusion de valeurs spécifiques, la recherche d'éléments manquants dans un
tableau de référence, ou le filtrage de doublons entre deux ensembles de données.
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 358
Dernière mise à jour : Dimanche, le 22 mars 2015