(PHP 4 >= 4.0.1, PHP 5)
array_unique — Elimina valores duplicados de un array
$array
[, int $sort_flags
= SORT_STRING
] )
Toma un array
y devuelve un nuevo array
sin valores duplicados.
Nótese que se conservan las claves. array_unique() ordena
los valores tratándolos como cadenas, manteniendo la primera clave encontrada
por cada valor e ignorando las demás claves. Esto no significa
que será mantenida la clave relacionada con el primer valor encontrado del
array
no ordenado.
Nota: Dos elementos son considerados iguales solo si (string) $elem1 === (string) $elem2. En otras palabras: cuando la representación en formato cadena es la misma. El primer elemento a ser usado.
array
El array de entrada.
sort_flags
El segundo parámetro opcional sort_flags
puede ser usado para modificar el tipo de orden usando estos valores:
Flags de tipos de orden:
SORT_REGULAR
- compara ítems normalmente
(no cambia los tipos)
SORT_NUMERIC
- compara ítems numéricamente
SORT_STRING
- compara ítems como cadenas
SORT_LOCALE_STRING
- compara ítems como
cadenas, basados en la localización actual.
Devuelve el array filtrado.
Versión | Descripción |
---|---|
5.2.10 |
Cambiado el valor por defecto de sort_flags a
SORT_STRING .
|
5.2.9 |
Añadido el parámetro opcional sort_flags con el
valor por defecto SORT_REGULAR . Antes de 5.2.9, esta función era usada para ordenar
el array con SORT_STRING internamente.
|
Ejemplo #1 Ejemplo de array_unique()
<?php
$input = array("a" => "verde", "rojo", "b" => "verde", "azul", "rojo");
$result = array_unique($input);
print_r($result);
?>
El resultado del ejemplo sería:
Array ( [a] => verde [0] => rojo [1] => azul )
Ejemplo #2 array_unique() y tipos
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
El resultado del ejemplo sería:
array(2) { [0] => int(4) [2] => string(1) "3" }
Nota: Nóte que array_unique() no está pensado para funcionar en arrays multi-dimensionales.