ARRAY_UNIQUE |
Tableau : Unique |
PHP 4.0.1+ |
Syntaxe
function array_unique($array);
|
function array_unique($array, $sort_flags);
|
Paramètres
Nom |
Description |
$array |
Ce paramètre permet d'indiquer le tableau à traiter. |
$sort_flags |
Ce paramètre permet d'indiquer le mode de traitement a effectuer : |
SORT_REGULAR |
Cette constante permet d'indiquer qu'un tri régulier. |
SORT_NUMERIC |
Cette constante permet d'indiquer qu'un tri en ordre numérique. |
SORT_STRING |
Cette constante permet d'indiquer qu'un tri en ordre de chaîne de caractères. |
SORT_LOCALE_STRING |
Cette constante permet d'indiquer qu'un tri en ordre de chaîne de caractères selon la région locale. |
Retour
Valeur |
Description |
tableau |
Ces valeurs permettent d'indiquer le tableau traité. |
Description
Cette fonction permet de fusionner tous les cellules en double de façon à ce que chacune des cellules est une valeur unique dans le tableau.
Remarques
- Suppression des doublons d'un tableau : La fonction array_unique() permet de supprimer les valeurs en double d'un tableau, ne gardant que la première
occurrence de chaque valeur. Cela peut être utile lorsqu'on souhaite éliminer les redondances dans les données et obtenir un tableau contenant uniquement des éléments uniques.
- Conservation des indices : Par défaut, array_unique() conserve les indices des éléments restants après la suppression des doublons. Cela signifie que si
le tableau original est indexé numériquement, les indices des éléments non dupliqués restent inchangés, ce qui peut être important dans certaines situations où les indices
doivent être préservés.
- Comparaison des valeurs non stricte : Par défaut, array_unique() effectue une comparaison non stricte des valeurs, ce qui signifie que les types de données
peuvent être convertis avant la comparaison. Par exemple, une valeur entière 1 est considérée égale à la chaîne de caractères '1'. Si vous souhaitez une comparaison stricte (en
tenant compte à la fois de la valeur et du type), vous pouvez passer un paramètre supplémentaire pour activer cette comparaison stricte.
- Utilisation sur des tableaux associatifs : Lorsque vous utilisez array_unique() sur un tableau associatif, elle supprime les doublons en fonction des
valeurs, mais conserve les clés associatives des éléments restants. Ainsi, même si plusieurs valeurs sont identiques, seule la première occurrence de chaque valeur est
conservée, avec la clef originale.
- Impact sur les tableaux multidimensionnels : array_unique() ne fonctionne pas directement sur les tableaux multidimensionnels, car elle compare les éléments
au niveau supérieur uniquement. Pour supprimer les doublons dans un tableau multidimensionnel, il est nécessaire d'utiliser des techniques supplémentaires, telles que la
conversion des sous-tableaux en chaînes ou l'utilisation de fonctions récursives.
- Performance sur les grands tableaux : Comme array_unique() effectue une comparaison de toutes les valeurs pour identifier les doublons, cette fonction
peut être coûteuse en termes de performance sur de très grands tableaux. Si vous devez gérer de grands ensembles de données, il peut être judicieux d'explorer d'autres solutions,
telles que l'utilisation de structures de données optimisées pour la recherche, comme des tableaux associatifs ou des ensembles.
- Cas particulier des tableaux contenant des objets : Lorsque vous utilisez array_unique() avec des tableaux contenant des objets, la comparaison des doublons
se fait par référence, et non par valeur. Cela signifie que deux objets identiques (ayant les mêmes propriétés et valeurs) mais différents par référence seront considérés comme
différents. Si vous souhaitez comparer les objets par valeur, vous devrez peut-être implémenter une méthode personnalisée pour gérer cette comparaison.
- Réindexation des clefs avec un paramètre supplémentaire : Si vous souhaitez réindexer les clés après avoir supprimé les doublons, vous pouvez passer un paramètre
supplémentaire à array_unique() pour activer cette fonctionnalité. Cela peut être particulièrement utile dans les tableaux indexés numériquement, car cela permet de
réorganiser les éléments du tableau après avoir supprimé les valeurs en double, en commençant par l'index zéro.
Dernière mise à jour : Dimanche, le 22 mars 2015