Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2011, 02:22
kumal87
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 1
No me funciona bien array_unique

Buenos dias !!

Me levanto con una pregunta tonta tipica de novatos, pero sinceramente me tiene un poco loco xk esto me hace algo raro que no comprendo.


La historia es que quiero utilizar array_unique para eliminar los duplicados, pero no me funciona correctamente. A ver si podeis encontrar el fallo, porque por mas que miro no lo encuentro.

El array lo tengo en $grosse

Codigo:

// Aqui me imprime el array original
echo "<br> Numero de tallas diferentes: ",count($grosse);
for($i=0;$i<count($grosse);$i++){
echo "<br>",$grosse[$i];
}


// Hago las tallas unicas
$grosse = array_unique($grosse);

//Aqui me dice que tengo 6 tallas diferentes como debe de ser, pero me ensenia 4
echo "<br> Numero de tallas diferentes: ",count($grosse);
for($i=0;$i<count($grosse);$i++){
echo "<br>",$grosse[$i];
}

//Aqui me muestra que el array esta bien creado, en contradicion de lo que me dice anteriormente con el bucle for.
echo "<br>";
print_r(array_values ($grosse));

echo "<br> Array test"

//Aqui pruebo a copiar dicho array en otro array para imprirlo
for($i=0;$i<count($grosse);$i++){
$test[$i] = $grosse[$i];
echo $test[$i];
}

//Ahora al llamar aqui se ve perfectamente que solo se han pasado las 4 primeras y ha dejado atras las dos ultimas.
echo "<br>",count($test);
print_r(array_values ($test));



Aqui les dejo el resultado del codigo para que vean como inexplicablemente se me pierden dos tallas. (Bueno seguro que tiene explicacion pero no la encuentro :P)

Resultado:

Numero de tallas diferentes: 18
W 31/L 30
W 31/L 34
W 30/L 32
W 30/L 34
W 31/L 30
W 30/L 32
W 31/L 30
W 34/L 34
W 30/L 30
W 30/L 34
W 34/L 34
W 30/L 32
W 31/L 34
W 30/L 34
W 34/L 34
W 31/L 34
W 30/L 30
W 30/L 30
Numero de tallas diferentes: 6
W 31/L 30
W 31/L 34
W 30/L 32
W 30/L 34


Array ( [0] => W 31/L 30 [1] => W 31/L 34 [2] => W 30/L 32 [3] => W 30/L 34 [4] => W 34/L 34 [5] => W 30/L 30 )

test de para ver si copia bien:
W 31/L 30 W 31/L 34 W 30/L 32 W 30/L 34
6Array ( [0] => W 31/L 30 [1] => W 31/L 34 [2] => W 30/L 32 [3] => W 30/L 34 [4] => [5] => )

Numero de tallas: 6


Muchas gracias anticipadas, espero que podais echarme una mano.

Saludos