2015-09-15 62 views
0

我有一個簡單的代碼:mt_rand(1,25);爲什麼mt_rand重複生成相同的數字?

它一遍又一遍地產生相同的數字。很多時候它會最終生成一個新的號碼。

6個月前,它工作得很漂亮。

$X = mt_rand(1,25) ; 
    $AR=array(14, 126, 28, .......); 
    $F = $AR[$X]; 

然後$ F是在數學計算中使用...

的$ X值是保持不變的每個頁面刷新或重新考慮之一。

見上的按鈕的第二排行動@ Www.math-flashcards.com

選擇 「數字加9」。輸入一個名稱,然後代碼應該每次生成不同的閃存卡。

+2

相同數量的可以產生無限-1次,仍然是完整的隨機選擇 –

+0

任你怎麼樣,需要說明如何您真正使用它,因爲這就是問題,而不是功能 –

+2

你打電話'mt_srand'呢?這用於初始化'種子'。除非您需要相同的數字序列,否則不應該調用它。 –

回答

0

您的代碼只能撥打mt_rand()一次。如果你在循環中使用它,請在循環中包含其他語句。

可能存在的缺陷:

  • 要調用mt_srand()在循環,這是重置隨機狀態通過循環每次別處。

  • 您正在比較腳本本身的連續執行,並且您有一個過期的PHP版本(所有仍受支持的PHP版本最初在腳本執行時隨機選擇一個隨機值)。

相關問題