來(lái)源:藏色散人 發(fā)布時(shí)間:2019-01-18 14:34:13 閱讀量:1142
PHP內(nèi)部生成隨機(jī)數(shù)的方法相比其他方法簡(jiǎn)單,不需要額外配置,是生成隨機(jī)數(shù)的首選方案。
1. rand函數(shù)
rand() 函數(shù)可以不加任何參數(shù),就可以生成隨機(jī)整數(shù)。如果要設(shè)置隨機(jī)數(shù)范圍,可以在函數(shù)中設(shè)置 min 和 max 的值。如果需要生成隨機(jī)數(shù)的種子,使用 srand 函數(shù)配置。
1 2 3 4 5 6 |
|
2. mt_rand函數(shù)
mt_rand() 是使用 Mersenne Twister 算法返回隨機(jī)整數(shù),與 rand() 函數(shù)的主要區(qū)別是:mt_rand()產(chǎn)生隨機(jī)數(shù)值的平均速度比 libc 提供的 rand() 快四倍,并且播種函數(shù)使用mt_srand(),而不是srand()。雖然有這點(diǎn)區(qū)別,但是它們的使用方法還是相似的,如下:
1 2 3 4 5 6 |
|
說(shuō)明:rand() 和 mt_rand() 兩個(gè)函數(shù)生成的隨機(jī)數(shù)都是整數(shù),不會(huì)包含英文字母。
3. uniqid函數(shù)
uniqid() 函數(shù)基于以微秒計(jì)的當(dāng)前時(shí)間,生成一個(gè)唯一的 ID。默認(rèn)生成ID的長(zhǎng)度為13位或者23位,由英文字母和數(shù)字組成。uniqid() 函數(shù)有兩個(gè)參數(shù),格式如下:
1 |
|
其中,
prefix:生成ID的前綴
more_entropy:是否添加額外的熵
如下的程序,
1 2 3 |
|
說(shuō)明:由于基于系統(tǒng)時(shí)間,通過(guò)該函數(shù)生成的 ID 不是最佳的。如需生成絕對(duì)唯一的 ID,請(qǐng)使用 md5() 函數(shù)。
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信