(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — Remove os valores duplicados de um array
$array
) : array
Recebe o argumento array
e retorna um novo array sem valores
duplicados.
Note que as chaves são preservadas. array_unique()
ordena inicialmente os valores como strings mantendo a primeira
chave encontrada para cada valor, e ignorando as chaves encontradas
posteriormente. Isso não significa que a chave do primeiro valor
do array
ainda desordenado será mantido.
Nota: Dois elementos são considerados iguais se, e somente se,
(string) $elem1 === (string) $elem2
. Em palavras: quando a represetação em string é a mesma. O primeiro será usado.
array
O array de entrada.
sort_flags
O segundo parâmetro opcional sort_flags
pode ser utilizado para modificar o comportamento de ordenação usando estes valores:
Sinalizações de tipo de ordenação:
SORT_REGULAR
- compara os itens normalmente
(não altera tipos)
SORT_NUMERIC
- compara itens numericamente
SORT_STRING
- compara itens como strings
SORT_LOCALE_STRING
- compara itens como strings
baseado no atual locale.
Retorna o array filtrado.
Versão | Descrição |
---|---|
7.2.0 |
Se sort_flags for SORT_STRING ,
o array anterior foi copiado e os elementos não únicos
foram removidos (sem empacotar o array em seguida), mas
um novo array é criado ao adicionar os novos elementos. Isto pode resultar
em índices numéricos diferentes.
|
Exemplo #1 Exemplo de array_unique()
<?php
$input = array("a" => "verde", "vermelho", "b" => "verde", "azul", "vermelho");
$result = array_unique($input);
print_r($result);
?>
O exemplo acima irá imprimir:
Array ( [a] => verde [0] => vermelho [1] => azul )
Exemplo #2 array_unique() e tipos
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
O exemplo acima irá imprimir:
array(2) { [0] => int(4) [2] => string(1) "3" }
Nota: Note que array_unique() não está preparado para funcionar em array multidimensional.