Funciones Matemáticas
PHP Manual

mt_rand

(PHP 4, PHP 5)

mt_randGenera un mejor número entero aleatorio

Descripción

int mt_rand ( void )
int mt_rand ( int $min , int $max )

Muchos generadores de números aleatorios de antiguas libcs tienen características dudosas o desconocidas y son lentas. De manera predeterminada, PHP usa la libc generadora de números aleatorios con la función rand(). La función mt_rand() es un sustituto de dicha función. Utiliza un generador de números aleatorios con características conocidas usando »  Mersenne Twister, que produce números aleatorios cuatro veces más rápido que el promedio proporcionado por la libc rand().

Se si emplea sin los argumentos opcionales min y max, mt_rand() devuelve un valor pseudoaleatorio entre 0 y mt_getrandmax(). Para obtener un número aleatorio entre 5 y 15 (incluidos), por ejemplo, use mt_rand(5, 15).

Parámetros

min

Opcionalmente, el menor valor a devolver (por defecto: 0)

max

Opcionalmente, el mayor valor a devolver (por defecto: mt_getrandmax())

Valores devueltos

Un valor entero aleatorio entre min (o 0) y max (o mt_getrandmax(), incluidos), o FALSE si max es menor que min.

Historial de cambios

Versión Descripción
5.3.4 Emite un error de nivel E_WARNING y devuelve FALSE si max < min.
4.2.0El generador de números aleatorio es sembrado automáticamente.

Ejemplos

Ejemplo #1 Ejemplo de mt_rand()

<?php
echo mt_rand() . "\n";
echo 
mt_rand() . "\n";

echo 
mt_rand(515);
?>

El resultado del ejemplo sería algo similar a:

1604716014
1478613278
6

Notas

Precaución

Esta función no genera valores criptográficos fiables por lo que no debería usarse para propósitos criptográficos. Si fuera necesario un valor criptográfico seguro, considérese usar openssl_random_pseudo_bytes() en su lugar.

Precaución

La distribución de mt_rand() devuelve valores que se inclinan hacia los números pares en versiones 64 bits de PHP, cuando max está más alla de 2^32.

Ver también


Funciones Matemáticas
PHP Manual