(PHP 4, PHP 5, PHP 7)
mt_rand — Generate a random value via the Mersenne Twister Random Number Generator
$min
   , int $max
   ) : intThis function does not generate cryptographically secure values, and should not be used for cryptographic purposes. If you need a cryptographically secure value, consider using random_int(), random_bytes(), or openssl_random_pseudo_bytes() instead.
Many random number generators of older libcs have dubious or unknown characteristics and are slow. The mt_rand() function is a drop-in replacement for the older rand(). It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides.
   If called without the optional min,
   max arguments mt_rand()
   returns a pseudo-random value between 0 and
   mt_getrandmax().  If you want a random number
   between 5 and 15 (inclusive), for example, use mt_rand(5,
   15).
  
minOptional lowest value to be returned (default: 0)
maxOptional highest value to be returned (default: mt_getrandmax())
   A random integer value between min (or 0)
   and max (or mt_getrandmax(), inclusive),
   or FALSE if max is less than min.
  
| Version | Description | 
|---|---|
| 7.2.0 | mt_rand() has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines. | 
| 7.1.0 | rand() has been made an alias of mt_rand(). | 
| 7.1.0 | mt_rand() has been updated to use the fixed, correct, version of
         the Mersenne Twister algorithm. To fall back to the old behaviour, use mt_srand() with MT_RAND_PHPas the second parameter. | 
| 5.3.4 | Issues an E_WARNINGand returnsFALSEifmax<min. | 
Example #1 mt_rand() example
<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";
echo mt_rand(5, 15);
?>
The above example will output something similar to:
1604716014 1478613278 6
    min max range must
    be within the range mt_getrandmax(). i.e. (max -
    min) <= mt_getrandmax()
    Otherwise, mt_rand() may return poorer random numbers
    than it should.