(PHP 4, PHP 5, PHP 7, PHP 8)
mt_rand — 生成更好的隨機(jī)數(shù)
$min
, int $max
): int很多老的 libc 的隨機(jī)數(shù)發(fā)生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數(shù)默認(rèn)使用 libc 隨機(jī)數(shù)發(fā)生器。mt_rand() 函數(shù)是非正式用來替換它的。該函數(shù)用了 ? Mersenne Twister 中已知的特性作為隨機(jī)數(shù)發(fā)生器,它可以產(chǎn)生隨機(jī)數(shù)值的平均速度比 libc 提供的 rand() 快四倍。
如果沒有提供可選參數(shù) min
和
max
,mt_rand()
返回 0 到 mt_getrandmax()
之間的偽隨機(jī)數(shù)。例如想要 5 到 15(包括 5 和 15)之間的隨機(jī)數(shù),用
mt_rand(5, 15)
。
返回 min
(或者 0) 到 max
(或者是到 mt_getrandmax()
,包含這個(gè)值)之間的隨機(jī)整數(shù)。
版本 | 說明 |
---|---|
4.2.0 | 隨機(jī)數(shù)發(fā)生器自動(dòng)進(jìn)行播種。 |
示例 #1 mt_rand() 例子
<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";
echo mt_rand(5, 15);
?>
以上例程的輸出類似于:
1604716014 1478613278 6
The distribution of mt_rand() return values is biased
towards even numbers on 64-bit builds of PHP when
max
is beyond 2^32
.