在PHP中,我們可以選擇mt_rand()和rand(),其中mt_rand()
使用Mersenne Twister算法,rand()
使用libc隨機生成器。array_rand使用Mersenne Twister算法嗎?
我想使用array_rand從數組中選擇一個隨機項目。但是,array_rand
使用Mersenne Twister算法嗎?
這是實現很簡單我使用mt_rand
自己array_rand
,但如果array_rand使用梅森難題,就更好了。
在PHP中,我們可以選擇mt_rand()和rand(),其中mt_rand()
使用Mersenne Twister算法,rand()
使用libc隨機生成器。array_rand使用Mersenne Twister算法嗎?
我想使用array_rand從數組中選擇一個隨機項目。但是,array_rand
使用Mersenne Twister算法嗎?
這是實現很簡單我使用mt_rand
自己array_rand
,但如果array_rand使用梅森難題,就更好了。
看來,array_rand
內部使用php_rand()
,這似乎是
好
舊的非mt版本。
可能並非如此,因爲array_rand()
的結果曾經是not random at all。它已在最新版本中修復(有關詳細信息,請參閱Vaxquis's answer)。
It does now,從PHP 7.1開始;有關更多詳細信息,請參閱this RFC和此bug report。