array_unique
PHP Manual
PHP Manual»Fonctions sur les tableaux»array_unique

array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_unique — Dédoublonne un tableau

Description

function array_unique(array $array, int $flags = SORT_STRING): array

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é.

Liste de paramètres

array

Le 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_REGULAR avec 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. Utiliser SORT_STRING pour é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.

Valeurs de retour

Retourne le tableau filtré.

Historique

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.

Exemples

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"
}

Notes

Note:

Il est à noter que array_unique() ne fonctionne pas avec des tableaux multidimensionnels.

Voir aussi

To Top