PHP - Ayuda con Random PHP

 
Vista:
sin imagen de perfil

Ayuda con Random PHP

Publicado por calors (2 intervenciones) el 11/11/2014 14:36:15
Buenas necesito hacer un random en php para imprimir un nombre aleatoria y tengo esto :

<?php
$var[1]= 'Iron Man';
$var[2]= 'Superman';
$var[3]= 'Batman';
echo "<font color='red' size='18'>" . $var[rand(1,count($var))] . "</font>";
?>

El problema es que repite los nombres muy seguido o sale 4 o 5 veces el mismo seguido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Random PHP

Publicado por Rafael (40 intervenciones) el 11/11/2014 15:41:22
Vaya tienes solo tres opciones es muy probable que te devuelva el mismo valor de forma seguida...

Como sea puedes hacer un par de cosas usar en lugar de rand(), mt_rand(), es mas rapido aunque no garantiza que haga lo que comentas, la unica opcion que veo es capturar el ultimo rand generado y excluirlo del posible resultado nuevo ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
$var[1]= 'Iron Man';
$var[2]= 'Superman';
$var[3]= 'Batman';
$ultimo_rand = 0;
$nuevo_rand = 0;
for ($i=0; $i<10; $i++) {
    while ($nuevo_rand==$ultimo_rand) {
        $nuevo_rand = rand(1,3);
    }
   echo "<font color='red' size='18'>" . $var[$nuevo_rand] . "</font><br />";
   $ultimo_rand = $nuevo_rand;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Ayuda con Random PHP

Publicado por calors (2 intervenciones) el 11/11/2014 16:51:24
gracias esto me sirvió mas y si tengo muy pocos datos probaré con más
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar