dominios y alojamiento web en hostalia

Números aleatorios en PHP

25 de julio de 2007
Valoración del artículo:
Generación de números aleatorios en PHP.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
PHP dispone de una serie de funciones para generar números aleatorios fácilmente. Las vamos a ver explicando sus usos y diferencias de funcionamiento. La forma más básica de generar un número aleatorio en PHP consiste en dos pasos:

//alimentamos el generador de aleatorios
srand (time());
//generamos un número aleatorio
$numero_aleatorio = rand(1,100);


Como vemos, en el primer paso se utiliza la función srand() para alimentar la semilla de generación de números aleatorios. Este paso es necesario sólo en versiones anteriores a PHP 4.2.0, pues a partir de esta versión este paso se hace automáticamente. A la función srand() hace falta enviarle un valor para alimentar la semilla. Nosotros enviamos lo que devuelve time(), que es un timestamp con el número de segundos desde el inicio de 1970.

Luego generamos un número aleatorio con la función rand() que recibe un par de valores opcionalmente, que son el mínimo y el máximo de los números aleatorios generados. En el caso anterior se consigue un número aleatorio entre 1 y 100, 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.

Generación de números aleatorios con mt_rand()

PHP tiene otras funciones para generar los números aleatorios, aparte de las que hemos visto, que utilizan unos algoritmos mejorados para conseguir números al azar.

La función de PHP mt_rand() genera aleatorios con un algoritmo que es de promedio 4 veces más rápido que el algoritmo que utiliza rand().

El uso de mt_rand() es similar:

//alimentamos el generador de aleatorios
mt_srand (time());
//generamos un número aleatorio
$numero_aleatorio = mt_rand(0,5);


Primero se debe utilizar mt_srand() para empezar la generación de números aleatorios con una semilla. Pero este paso a partir de PHP 4.2.0 no es necesario, porque se hace automáticamente.

Luego se generan los números aleatorios con mt_rand(), a la que le pasamos el rango de valores que queremos obtener, con los parámetros mínimo y máximo. En nuestro ejemplo obtendremos valores aleatorios entre el 0 y el 5.

La generación de números aleatorios en PHP es muy sencilla, como se ha podido comprobar. Si queremos que los números aleatorios tengan decimales podemos probar el truco de la FAQ: Números aleatorios decimales en PHP

Compartir en redes sociales

Comentarios
Fueron enviados 3 comentarios al artículo
3 comentarios no revisados
0 comentarios revisados

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...