Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2011, 05:29
jruiz_fdez
 
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 549
Antigüedad: 19 años, 2 meses
Puntos: 0
Función Unset

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
__________________
Nadie dijo que ésto iba a ser fácil