array_unique

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

array_uniqueElimina valores duplicados de un array

Descripción

array_unique ( array $array [, int $sort_flags = SORT_STRING ] ) : array

Toma un array y devuelve un nuevo array sin valores duplicados.

Tenga en cuenta que las claves se conservan. Si múltiples elementos se comparan bajo el parámetro sort_flags, entonces la clave y el valor del primer elemento igual se conservarán.

Nota: Dos elementos son considerados iguales solo si (string) $elem1 === (string) $elem2, es decir, cuando la representación en formato de string sea la misma, se usará el primer elemento.

Parámetros

array

El array de entrada.

sort_flags

El segundo parámetro opcional sort_flags se puede utilizar para modificar el tipo de orden usando estos valores:

Indicadores de tipos de orden:

  • SORT_REGULAR - compara ítems normalmente (no cambia los tipos)
  • SORT_NUMERIC - compara ítems numéricamente
  • SORT_STRING - compara ítems como strings
  • SORT_LOCALE_STRING - compara ítems como strings, basados en la configuración regional en uso.

Valores devueltos

Devuelve el array filtrado.

Historial de cambios

Versión Descripción
7.2.0 Si el parámetro sort_flags es SORT_STRING, el array anterior ha sido copiado y se han eliminado los elementos no únicos (sin empaquetar el array posteriormente), pero ahora se construye un nuevo array añadiendo los elementos únicos. Esto puede dar lugar a diferentes índices numéricos.
5.2.10 Se volvió a cambiar el valor predeterminado de sort_flags a SORT_STRING.
5.2.9 Se añadió el parámetro opcional sort_flags con el valor predeterminado SORT_REGULAR. Antes de 5.2.9, esta función se usaba para ordenar el array con SORT_STRING internamente.

Ejemplos

Ejemplo #1 Ejemplo de array_unique()

<?php
$entrada 
= array("a" => "verde""rojo""b" => "verde""azul""rojo");
$resultado array_unique($entrada);
print_r($resultado);
?>

El resultado del ejemplo sería:

Array
(
    [a] => verde
    [0] => rojo
    [1] => azul
)

Ejemplo #2 array_unique() y tipos

<?php
$entrada 
= array(4"4""3"43"3");
$resultado array_unique($entrada);
var_dump($resultado);
?>

El resultado del ejemplo sería:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Ver también

Notas

Nota: Observe que array_unique() no está pensado para que trabaje con arrays multidimensionales.