首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP mt_rand() 高效隨機整數產生器用法與範例

     編輯:PHP 相關知識

mt_rand() 採用 Mersenne Twister 演算法,速度比舊版 rand() 快 4 倍,且隨機品質更好,是產生隨機整數的首選函式。

語法

mt_rand(min, max)
  • 無參數:回傳 0 ~ mt_getrandmax() 之間的偽隨機數。
  • 指定 min、max:回傳該範圍內整數 (含邊界)。

常見用法範例

// 產生 5~15 之間隨機整數
$num = mt_rand(5, 15); // 隨機挑選陣列元素
$colors = ['red','green','blue','yellow'];
$color = $colors[mt_rand(0, count($colors)-1)]; // 簡單抽獎邏輯
$rand = mt_rand(0, 1);
if ($rand === 0) {
$prizes = [41,20,26,29,30];
} else {
$prizes = [38,42,37,400,444];
}
foreach ($prizes as $v) { echo $v . "\n"; }

進階:密碼學安全隨機數

mt_rand() 非密碼學安全,不可用於金鑰、Token、驗證碼。PHP 7+ 請改用:

  • random_int($min, $max) — 整數
  • random_bytes($length) — 位元組串流

舊版本相容性提醒

PHP 3.0.7 前 max 代表「範圍長度」而非上界,例如要 5~15 需寫 mt_rand(5, 11)。現代版本已統一為上界含義。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved