(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
array_unique — Dédoublonne un tableau
Prend le tableau d'entrée array et retourne un
nouveau tableau sans valeurs dupliquées.
Il est à noter que les clés sont préservées. Si plusieurs éléments comparés
sont égaux sous le flags donné, alors la clé
et la valeur du premier élément égal seront conservées.
Note:
Deux éléments sont considérés comme égaux si et seulement si
(string) $elem1 === (string) $elem2, c.-à-d. lorsque la représentation en chaîne de caractères est identique, auquel cas le premier élément est conservé.
arrayLe tableau d'entrée.
flags
Le second paramètre optionnel flags
peut être utilisé pour modifier le comportement de comparaison
en utilisant les valeurs suivantes :
Drapeau de type de comparaison :
SORT_REGULAR - compare les éléments normalement
(ne modifie pas les types)
Note:
Lors de la combinaison de
SORT_REGULARavec des tableaux mêlant des chaînes numériques et non numériques, l'algorithme de tri puis comparaison peut ne pas placer les éléments égaux côte à côte, ce qui peut laisser des doublons dans le résultat. UtiliserSORT_STRINGpour éviter cela.
SORT_NUMERIC - compare les éléments
numériquement
SORT_STRING - compare les éléments comme des
chaînes
SORT_LOCALE_STRING - compare les éléments comme
des chaînes, suivant la locale courante.
Retourne le tableau filtré.
| Version | Description |
|---|---|
| 7.2.0 |
Si flags est SORT_STRING,
le tableau retourné est construit en ajoutant les éléments uniques à un
nouveau tableau ; auparavant, il s'agissait d'une copie de
array dont les éléments non uniques étaient
supprimés.
Les deux contiennent les mêmes éléments sous les mêmes clés, mais si
l'élément ayant la plus grande clé entière fait partie de ceux
supprimés, l'index généré pour un élément ajouté au tableau retourné
diffère de celui qu'aurait généré array.
|
Exemple #1 Exemple avec array_unique()
<?php
$input = ["a" => "green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);
?>L'exemple ci-dessus va afficher :
Array
(
[a] => green
[0] => red
[1] => blue
)
Exemple #2 Exemple avec array_unique() et les types
<?php
$input = [4, "4", "3", 4, 3, "3"];
$result = array_unique($input);
var_dump($result);
?>L'exemple ci-dessus va afficher :
array(2) {
[0]=>
int(4)
[2]=>
string(1) "3"
}
Note:
Il est à noter que array_unique() ne fonctionne pas avec des tableaux multidimensionnels.