mt_rand

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mt_rand -- 建立更好的隨機數

說明

int mt_rand ( [int min, int max] )

很多老的 libc 的隨機數發生器具有一些不確定和不明的特性而且很慢。PHP 的 rand() 函數預設使用 libc 隨機數發生器。mt_rand() 函數是非正式用來置換它的。該函數用了 Mersenne Twister 中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。

若果沒有提供可選參數 minmaxmt_rand() 返回 0 到 RAND_MAX 之間的偽隨機數。例如想要 5 到 15(內含 5 和 15)之間的隨機數,用 mt_rand(5, 15)

例子 1. mt_rand() 範例

<?php
echo mt_rand() . "\n";
echo 
mt_rand() . "\n";
 
echo 
mt_rand(515);
?>

上例的輸出類似於:

1604716014
1478613278
6

注: 自 PHP 4.2.0 起,不再需要用 srand()mt_srand() 函數給隨機數發生器播種,現已自動完成。

注: 在 3.0.7 之前的版本中,max 的含義是 range。要在這些版本中得到和上例相同 5 到 15 的隨機數,簡短的例子是 mt_rand (5, 11)

參見 mt_srand()mt_getrandmax()rand()