(PHP 4, PHP 5)
mt_rand — Genera un mejor número entero aleatorio
$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).
min
Opcionalmente, el menor valor a devolver (por defecto: 0)
max
Opcionalmente, el mayor valor a devolver (por defecto: mt_getrandmax())
Un valor entero aleatorio entre min
(o 0)
y max
(o mt_getrandmax(), incluidos),
o FALSE
si max
es menor que min
.
Versión | Descripción |
---|---|
5.3.4 |
Emite un error de nivel E_WARNING y devuelve FALSE si
max < min .
|
4.2.0 | El generador de números aleatorio es sembrado automáticamente. |
Ejemplo #1 Ejemplo de mt_rand()
<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";
echo mt_rand(5, 15);
?>
El resultado del ejemplo sería algo similar a:
1604716014 1478613278 6
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.
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.