array_unique
PHP Manual
PHP Manual»Funciones de Arrays»array_unique

array_unique

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

array_unique — Elimina los valores duplicados de un array

Descripción

function array_unique(array $array, int $flags = SORT_STRING): 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.

Parámetros

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)

    Nota:

    Al combinar SORT_REGULAR con arrays que mezclan strings numéricos y no numéricos, el algoritmo de ordenar y comparar podría no colocar los elementos iguales de forma adyacente, lo que puede dejar duplicados en el resultado. Se debe utilizar SORT_STRING para evitarlo.

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

Valores devueltos

Devuelve el array filtrado.

Historial de cambios

Versión Descripción
7.2.0 Si flags es SORT_STRING, el array devuelto se construye añadiendo los elementos únicos a un array nuevo; anteriormente, era una copia de array de la que se eliminaban los elementos no únicos. Ambos contienen los mismos elementos bajo las mismas claves, pero si el elemento con la clave entera mayor está entre los eliminados, el índice generado para un elemento añadido al array devuelto difiere del que habría generado array.

Ejemplos

Ejemplo #1 Ejemplo con array_unique()

<?php

$input = ["a" => "green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);

?>

El ejemplo anterior mostrará:

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 ejemplo anterior mostrará:

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

Notas

Nota:

Tenga en cuenta que array_unique() no funciona con arrays multidimensionales.

Véase también

To Top