(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
array_unique — Elimina los valores duplicados de un array
array_unique() extrae del array
array
los valores distintos,
y elimina todos los duplicados.
Tenga en cuenta que las claves se preservan. Si varios elementos comparados
son iguales bajo el flags
dado, entonces la clave
y el valor del primer elemento igual serán conservados.
Nota: Dos elementos se consideran iguales si y solo si
(string) $elem1 === (string) $elem2
, es decir, cuando la representación en string es idéntica.
array
El array de entrada.
flags
El segundo parámetro opcional flags
puede ser utilizado para modificar el comportamiento de comparación
utilizando los siguientes valores:
Flag de tipo de comparación:
SORT_REGULAR
- compara los elementos normalmente
(no modifica los tipos)
SORT_NUMERIC
- compara los elementos
numéricamente
SORT_STRING
- compara los elementos como strings
SORT_LOCALE_STRING
- compara los elementos como
strings, según la configuración local actual.
Devuelve el array filtrado.
Versión | Descripción |
---|---|
7.2.0 |
Si flags es SORT_STRING ,
anteriormente array era copiado y los elementos
no únicos eran eliminados (sin comprimir el array después), pero
ahora se construye un nuevo array añadiendo los elementos únicos.
Como consecuencia, el resultado final puede tener índices numéricos diferentes.
|
Ejemplo #1 Ejemplo con array_unique()
<?php
$input = ["a" => "green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);
?>
El resultado del ejemplo sería:
Array ( [a] => green [0] => red [1] => blue )
Ejemplo #2 Ejemplo con array_unique() y los tipos
<?php
$input = [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: Tenga en cuenta que array_unique() no funciona con arrays multidimensionales.