Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/07/2013, 06:15
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Problema con array_rand

El problema que veo hasta ahora es que se mete algo en posicion [0] pero es culpa de array_rand() ... si usas shuffle() no sucede eso, diria es un BUG de array_rand() porque en el manual no dice nada de que deba hacer eso

En tu caso, deberias hacer un shuffle() y luego solo mostrar los primeros 4 elementos ... la diferencia es que shuffle() es por referencia que acepta el array asi que lo modifica y no hace copia como array_rand()

Código PHP:
<?php

$a 
= array(926314242111319202324283039391514183649151625273334);

shuffle($a);

for (
$i 0$i 4$i++) {
    if (
$i 3)
        echo 
$a[$i]." - "
    else
        echo 
$a[$i]; 
}
Otra solucion es ignorar ese primer valor:

Código PHP:
<?php

$a 
= array(926314242111319202324283039391514183649151625273334);

$rand_keys array_rand($a5);
asort($rand_keys);

for (
$i 1$i 5$i++) {
    if (
$i 4)
        echo 
$rand_keys[$i]." - "
    else
        echo 
$rand_keys[$i]; 
}
__________________
Salu2!

Última edición por Italico76; 04/07/2013 a las 07:10