Foros del Web » Programando para Internet » PHP »

Mostrar numero aleatorios

Estas en el tema de Mostrar numero aleatorios en el foro de PHP en Foros del Web. Hola buenas, mis conocimientos de php son algo minimo y tengo una proyecto en mente y necesito que me hecheis un cable para conseguir hacer ...
  #1 (permalink)  
Antiguo 21/11/2011, 10:02
Avatar de DCienfuegos  
Fecha de Ingreso: febrero-2009
Ubicación: Asturias
Mensajes: 195
Antigüedad: 15 años, 2 meses
Puntos: 3
Pregunta Mostrar numero aleatorios

Hola buenas, mis conocimientos de php son algo minimo y tengo una proyecto en mente y necesito que me hecheis un cable para conseguir hacer lo siguiente.

Para generar un numero aleatorio en php seria utilizar la expresion

$numero_aleatorio = rand(1,4);

Con esta expresion me generaria un numero aleatorio del 1 al 4

Ahora mis dudas son las siguiente, como puedo decirle que me genere un numero aleatorio entre 1 y 4 dandole los unicos valores que puede escoger, es decir, quiero que me genere un numero aleatorio pero quiero que este siempre sea 1, 1.5, 2, 2.5, 3, 3.5 o 4

Gracias.
  #2 (permalink)  
Antiguo 21/11/2011, 10:15
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Mostrar numero aleatorios

Podes probar algo asi:

Código PHP:
Ver original
  1. <?php
  2. function setNumbers($desde, $hasta) {
  3.     for ($i = $desde; $i <= $hasta; $i++) {
  4.         $arr[] = $i;
  5.         if ($i < $hasta) {
  6.             $arr[] = $i + 0.5;
  7.         }
  8.     }
  9.     return $arr;
  10. }
  11.  
  12. $numerosPosibles = setNumbers(1, 4);
  13. $x = rand(0, count($numerosPosibles) - 1);
  14. echo "\n" . $numerosPosibles[$x];
  15. ?>

Cualquier cosa avisame ;)

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 21/11/2011, 10:20
 
Fecha de Ingreso: agosto-2011
Ubicación: Montevideo
Mensajes: 44
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: Mostrar numero aleatorios

Código PHP:
Ver original
  1. $num = 2/rand(1,2);
  2. $num2 = 2/rand(4,4);
  3.  
  4. $rand = rand(1,3);
  5.  
  6. switch($rand)
  7. {
  8.  case 1:
  9.   $num_aleatorio = $num;
  10.  break;
  11.  case 2:
  12.   $num_aleatorio = $num2;
  13.  break;
  14.  case 3:
  15.   $num_aleatorio = $num+$num;
  16.  break;
  17. }
  #4 (permalink)  
Antiguo 21/11/2011, 10:37
Avatar de DCienfuegos  
Fecha de Ingreso: febrero-2009
Ubicación: Asturias
Mensajes: 195
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Mostrar numero aleatorios

He probado ambas, hay algun problemilla, os comento por privado, gracias
  #5 (permalink)  
Antiguo 21/11/2011, 10:44
 
Fecha de Ingreso: agosto-2011
Ubicación: Montevideo
Mensajes: 44
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: Mostrar numero aleatorios

Código PHP:
Ver original
  1. // He pensado este que està mejor aùn que el que te mandee por privado
  2. $desde = 1;
  3. $hasta = 4;
  4. $separacion = 0.5;
  5.  
  6. $num = rand($desde,$hasta*(1/$separacion));
  7. $num_aleatorio = $num*$separacion;
  8. echo $num_aleatorio;
  #6 (permalink)  
Antiguo 21/11/2011, 10:53
Avatar de DCienfuegos  
Fecha de Ingreso: febrero-2009
Ubicación: Asturias
Mensajes: 195
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Mostrar numero aleatorios

Cita:
Iniciado por Elfede171 Ver Mensaje
Código PHP:
Ver original
  1. // He pensado este que està mejor aùn que el que te mandee por privado
  2. $desde = 1;
  3. $hasta = 4;
  4. $separacion = 0.5;
  5.  
  6. $num = rand($desde,$hasta*(1/$separacion));
  7. $num_aleatorio = $num*$separacion;
  8. echo $num_aleatorio;
Luego lo pruebo, que ahora tengo que irme al trabajo, gracias por el privado ya te habia respondido tambien.
  #7 (permalink)  
Antiguo 21/11/2011, 10:59
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Mostrar numero aleatorios

Y algo así no funciona?

Código PHP:
$num_aleatorio rand(2,8) / 2
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 21/11/2011, 11:34
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Mostrar numero aleatorios

Las preguntas y problemas se ponen en el foro y se resuelven en el foro, ésto para que nuevos usuarios también tengan acceso a la solución. Por algo es un foro, no?...
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #9 (permalink)  
Antiguo 24/11/2011, 08:25
Avatar de DCienfuegos  
Fecha de Ingreso: febrero-2009
Ubicación: Asturias
Mensajes: 195
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Mostrar numero aleatorios

Os dejo el codigo que he empleado finalmente

$desde = 1;
$hasta = 4;
$separacion = 0.5;

$num_aleatorio = 0.5;

while($num_aleatorio == 0.5){
$num = rand($desde,$hasta*(1/$separacion));
$num_aleatorio = $num*$separacion;
}

$num_aleatorio


Saludos y gracias!
  #10 (permalink)  
Antiguo 24/11/2011, 09:57
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Mostrar numero aleatorios

$numeros=array(1,1.5,2,2.5,3,3.5,4);
$cant = sizeof($numeros)-1;
echo $numero_aleatorio = $numeros[rand(0,$cant)];
__________________
la la la
  #11 (permalink)  
Antiguo 24/11/2011, 10:36
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Mostrar numero aleatorios

Es muy facil generar un numero fraccionado (6).

$numero = rand(1,4).".".rand(0,9);

eso te devolvera un numero algo asi:

3.8 !! funciona y Bien o_O y para otra forma tambien seria.

function random($min,$max) {ç
$rand = rand($min,$max);
$tmp = rand(0,1);
if($tmp == 1) {
$tmp .= ".5";
}
}

Etiquetas: numero, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:50.