首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mt_rand

(PHP 4, PHP 5, PHP 7)

mt_rand — Generate a random value via the Mersenne Twister Random Number Generator

Description

代码语言:javascript
复制
int mt_rand ( void )
代码语言:javascript
复制
int mt_rand ( int $min , int $max )

Caution

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

Parameters

min

Optional lowest value to be returned (default: 0)

max

Optional highest value to be returned (default: mt_getrandmax())

Return Values

A random integer value between min (or 0) and max (or mt_getrandmax(), inclusive), or FALSE if max is less than min.

Changelog

Version

Description

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_PHP as the second paramter.

5.3.4

Issues an E_WARNING and returns FALSE if max < min.

Examples

Example #1 mt_rand() example

代码语言:javascript
复制
<?php
echo?mt_rand()?.?"\n";
echo?mt_rand()?.?"\n";

echo?mt_rand(5,?15);
?>

The above example will output something similar to:

代码语言:javascript
复制
1604716014
1478613278
6

Notes

Warning

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.

See Also

  • mt_srand() - Seeds the Mersenne Twister Random Number Generator
  • mt_getrandmax() - Show largest possible random value
  • random_int() - Generates cryptographically secure pseudo-random integers
  • random_bytes() - Generates cryptographically secure pseudo-random bytes
  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • rand() - Generate a random integer

← mt_getrandmax

mt_srand →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com