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