主頁(yè) > 知識(shí)庫(kù) > PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例

PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例

熱門標(biāo)簽:兼職做地圖標(biāo)注好賺錢嗎 海南外呼系統(tǒng)方案 400 電話 辦理 蘇州外呼系統(tǒng)有效果嗎 亳州企業(yè)外呼系統(tǒng) 打開百度地圖標(biāo)注 山東電銷卡外呼系統(tǒng)原理是什么 智能電銷語(yǔ)音機(jī)器人資訊 地圖標(biāo)注怎么做商戶驗(yàn)證

1. rand函數(shù)

rand() 函數(shù)可以不加任何參數(shù),就可以生成隨機(jī)整數(shù)。如果要設(shè)置隨機(jī)數(shù)范圍,可以在函數(shù)中設(shè)置 min 和 max 的值。如果需要生成隨機(jī)數(shù)的種子,使用 srand 函數(shù)配置。

echo rand();           // 生成 0~RAND_MAX 之間的隨機(jī)數(shù),Windows 系統(tǒng)下 RAND_MAX 的值為 32767,RAND_MAX 可以用函數(shù) getrandmax() 獲得
echo rand(1000000, 9999999);   // 生成 1000000~9999999 之間的隨機(jī)數(shù)
$seed = time();          // 使用時(shí)間作為種子源
srand($seed);           // 播下隨機(jī)數(shù)發(fā)生器種子
echo rand();           // 根據(jù)種子生成 0~32768 之間的隨機(jī)數(shù)。如果 $seed 值固定,則生成的隨機(jī)數(shù)也不變
echo rand(1000000, 9999999);   // 根據(jù)種子生成 1000000~9999999 之間的隨機(jī)數(shù)。如果 $seed 值固定,則生成的隨機(jī)數(shù)也不變

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ū)別,但是它們的使用方法還是相似的,如下:

echo mt_rand();          // 生成 0~RAND_MAX 之間的隨機(jī)數(shù),Windows 系統(tǒng)下 RAND_MAX 的值為 2147483647(與rand()中的 RAND_MAX 不同),RAND_MAX 可以用函數(shù) mt_getrandmax() 獲得
echo mt_rand(1000000, 9999999);  // 生成 1000000~9999999 之間的隨機(jī)數(shù),不受系統(tǒng) RAND_MAX 影響
$seed = time();          // 使用時(shí)間作為種子源
mt_srand($seed);         // 播下隨機(jī)數(shù)發(fā)生器種子
echo rand();           // 根據(jù)種子生成 0~RAND_MAX 之間的隨機(jī)數(shù),如果 $seed 值固定,則生成的隨機(jī)數(shù)也不變
echo rand(1000000, 9999999);   // 根據(jù)種子生成 1000000~9999999 之間的隨機(jī)數(shù),如果 $seed 值固定,則生成的隨機(jī)數(shù)也不變

說明: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ù),格式如下:

uniqid(prefix,more_entropy)

其中,

prefix:生成ID的前綴

more_entropy:是否添加額外的熵

如下的程序,

echo uniqid();          // 生成13位字符串,如:55f540e273e93
echo uniqid('one.');       // 生成前綴為one.加13位隨機(jī)字符的字符串,如:one.55f540e273e93
echo uniqid('two.', true);    // 生成前綴為two.加23位隨機(jī)字符的字符串(加了熵),如:two.55f540e273e932.77804707,比上面的多了 10 位,即多了:2.77804707

說明:由于基于系統(tǒng)時(shí)間,通過該函數(shù)生成的 ID 不是最佳的。如需生成絕對(duì)唯一的 ID,請(qǐng)使用 md5() 函數(shù)。

您可能感興趣的文章:
  • PHP生成指定范圍內(nèi)的N個(gè)不重復(fù)的隨機(jī)數(shù)
  • php簡(jiǎn)單生成隨機(jī)數(shù)的方法
  • php生成不重復(fù)隨機(jī)數(shù)、數(shù)組的4種方法分享
  • PHP生成不重復(fù)隨機(jī)數(shù)的方法匯總
  • php生成隨機(jī)數(shù)的三種方法
  • PHP生成指定長(zhǎng)度隨機(jī)數(shù)最簡(jiǎn)潔的方法
  • 在PHP模板引擎smarty生成隨機(jī)數(shù)的方法和math函數(shù)詳解
  • 如何在PHP中生成隨機(jī)數(shù)

標(biāo)簽:安康 萊蕪 金華 溫州 綏化 呼倫貝爾 紹興 清遠(yuǎn)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例》,本文關(guān)鍵詞  PHP,內(nèi)置,函數(shù),生成,隨機(jī)數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章