PHP: eliminar elementos duplicados en un array

Para eliminar los elementos duplicados en un array habrá que utilizar las funciones array_unique (enlace externo, en inglés) y array_values (enlace externo, en inglés).

Si tenemos el siguiente array con años:

<?php
 $lista = array(2010,2009,1999,2010,2010,2008,2010);
?>

Y queremos quitar los años duplicados habrá que utilizar array_unique para quitar los duplicados:

<?php
 $lista = array(2010,2009,1999,2010,2010,2008,2010);
 $listaSimple = array_unique($lista);
?>

Que devolverá:

Array ( [0] => 2010 [1] => 2009 [2] => 1999 [5] => 2008 )

Como se puede observar se han eliminado duplicados, pero los índices de cada elemento no van seguidos (salta del 2 al 5). Para que vayan seguidos habrá que aplicar array_values:

<?php
 $lista = array(2010,2009,1999,2010,2010,2008,2010);
 $listaSimple = array_unique($lista);
 $listaSimpleFinal = array_values($listaSimple);
?>

Y ahora devolverá el array con los índices adecuados:

Array ( [0] => 2010 [1] => 2009 [2] => 1999 [3] => 2008 )

3 respuestas a «PHP: eliminar elementos duplicados en un array»

Los comentarios están cerrados.