(PHP 4, PHP 5, PHP 7)
mt_rand — Genera un mejor número entero aleatorio
$min
, int $max
)Muchos generadores de números aleatorios de libcs antiguas 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).
Esta función no genera valores criptográficos fiables por lo que no debería empelarse para propósitos criptográficos. Si fuera necesario un valor criptográfico seguro, considérese utilizar random_int(), random_bytes(), o openssl_random_pseudo_bytes() en su lugar.
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 .
|
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
El rango min
-max
debe
estar entre el rango mt_getrandmax(). Esto es, (max
-
min
) <= mt_getrandmax()
De lo contrario, mt_rand() podría devolver números
aleatorios pobres.