mt_srand(int $seed): void 用於為 Mersenne Twister 隨機數生成器設定種子。自 PHP 4.2.0 起,$seed 參數變為可選;若省略,PHP 會自動使用隨機種子(結合微秒時間)。
<?php
// 自訂種子函式:結合秒與微秒
function make_seed(): float {
list($usec, $sec) = explode(' ', microtime());
return (float)$sec + ((float)$usec * 100000);
}
// 設定種子(PHP 4.2.0 以前必須呼叫)
mt_srand(make_seed());
// 產生隨機整數
$randval = mt_rand();
?>
mt_srand() 或 srand(),PHP 會在首次使用 mt_rand()、rand() 等函式時自動初始化種子。mt_rand():產生 Mersenne Twister 隨機整數。mt_getrandmax():取得最大可能隨機值。srand():舊版隨機數生成器的種子設定。