mt_rand

(PHP 4, PHP 5, PHP 7)

mt_randGenera un mejor número entero aleatorio

Descripción

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

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().

Si se 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).

Precaución

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.

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.

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

Advertencia

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.

Ver también