Hola a tod@s,
estoy programando una sencilla función que elimina los elementos duplicados de un array. El código de la función es este:
Código:
for($i=0; $i<(count($v)-1); $i++){
$j=$i+1;
while($j<count($v))
if($v[$i]==$v[$j])
unset($v[$j]);
else
$j++;
} //Fin For
En teoría la función debiera funcionar (valga la redundancia) correctamente pero ante la entrada: 1 1 3 5 5 7 7 9 me devuelve 1 3 5 7 7 9 es decir, elimina sólo alguno de los duplicados ya que el 7 sigue mostrándolo 2 veces :S
El caso es que he hecho la traza en papel y la función debiera funcionar bien pero, por algún motivo, no lo hace :( Pienso que podría deberse a que la función Unset no se comporta como yo creo que lo hace pero he mirado en la documentación oficial de PHP y todo parece estar OK! así que, sinceramente, no tengo ni idea de porqué ésto falla.
Si me pueden echar una mano, se lo agradezco!!
Un saludo,
Jose