Generar un número aleatorio en PHP

09/Ene/2013 PHP 8 Comentarios
programación php

En este post veremos cómo generar un número aleatorio en PHP de manera sencilla haciendo uso de dos métodos diferentes: rand y mt_rand. Así aprenderemos de una forma más sencilla a manejar los números en PHP.

PHP nos facilita la obtención de números aleatorios con la función rand(), que recibe un par de valores, el mínimo y el máximo de los números aleatorios a generar. En este demo vamos a obtener un número aleatorio entre 1 y 30, incluyendo estos dos valores entre los posibles, si no se indica nada a rand(), el valor mínimo será cero.

El valor máximo depende de la plataforma donde se esté ejecutando PHP, por ejemplo en Windows el valor máximo sería 32786. Si queremos asegurarnos que este valor máximo sea mayor, entonces conviene definir los valores máximo y mínimo al llamar a la función.

Ahora veamos el código:

<?php
  $d=rand(1,30);
  echo $d ;
?>

Con este sencillo par de líneas nosotros podemos obtener un número aleatorio. También podemos obtener un numero aleatorio con la función mt_rand() la cual es mucho mejor que rand() ya que es mucho más rápida y con un mejor algoritmo de obtención de números aleatorios.

<?php
  $d=mt_rand(1,30);
  echo $d ;
?>

Con estas funciones nosotros podemos generar un número aleatorio en PHP de manera fácil y rápida.

Vídeos sobre PHP


8 comentarios en “Generar un número aleatorio en PHP”

Dave Rndn

jose

Hola, quisiera saber somo puedo insertar en un formulario php que sube datos a una tabla mysql un campo que guarde un numero random de 1 a 4 por ejemplo, de manera que al ver los datos en php aparezca uno de estos 4 numeros de forma aleatoria en cada registro

Dave Rndn

raul

lograste solucionarlo?

Lo que haría seria introducir un input tipo hidden y en value asignarle un código php donde fuera rand_mt(0,4) con tal de que cuando se presionara el submit ya tendrias algunos de esos valores

Dave Rndn

MARRON

Como puedo pasar un un rand(100,900) a un código de manera aleatorio en php

Gracias

Dave Rndn

Jorge – Internetizado

Hola,

Gracias por el tip, yo utilizaba siempre la función de rand() pero la otra de mt_rand() es cierto que me va muy bien. Lo único que no entiendo y sería ideal si puedes aclararlo es si el número mínimo definido esta incluído, es decir, si pones mt_rand(3, 5), ¿el 3 alguna vez saldría? entiendo que sí, pero he probado con tests de 10 mil llamadas y ninguno toco 3 :S

Muchas gracias!!

Dave Rndn

RANDY JUSTINIANO GARCIA

como hago esto mismo pero poniendo un parametro osea que el usuario coloque una serie de numeros y que el sistema siga su secuencia pero tomando estos numeros como punto de partida

Dave Rndn

sandra

¿por que si quiero generar numeros de entre 1 y 99, simpre me genera numeros de 3 digitos empezando con 5 y a veces me genera numeros de dos digitos pero siempre empezando con 5 ?? a que se debera ?

Dave Rndn

Corretando la chuleta

podriamos hacer un inter cambio de enlaces? Saludos
correteandolachuleta.com.mx

Dave Rndn

Randy

Funciona mucho mejor:
mt_rand

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.