国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP內置函數生成隨機數實例

2024-09-04 11:42:20
字體:
來源:轉載
供稿:網友

在本篇文章里小編給大家分享了關于PHP內置函數生成隨機數實例內容,對此有興趣的朋友們可以學習下。

1. rand函數

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

  1. echo rand();           // 生成 0~RAND_MAX 之間的隨機數,Windows 系統下 RAND_MAX 的值為 32767,RAND_MAX 可以用函數 getrandmax() 獲得 
  2. echo rand(1000000, 9999999);   // 生成 1000000~9999999 之間的隨機數 
  3. $seed = time();          // 使用時間作為種子源 
  4. srand($seed);           // 播下隨機數發生器種子 
  5. echo rand();           // 根據種子生成 0~32768 之間的隨機數。如果 $seed 值固定,則生成的隨機數也不變 
  6. echo rand(1000000, 9999999);   // 根據種子生成 1000000~9999999 之間的隨機數。如果 $seed 值固定,則生成的隨機數也不變 

2. mt_rand函數

mt_rand() 是使用 Mersenne Twister 算法返回隨機整數,與 rand() 函數的主要區別是:mt_rand()產生隨機數值的平均速度比 libc 提供的 rand() 快四倍,并且播種函數使用mt_srand(),而不是srand()。雖然有這點區別,但是它們的使用方法還是相似的,如下:

  1. echo mt_rand();          // 生成 0~RAND_MAX 之間的隨機數,Windows 系統下 RAND_MAX 的值為 2147483647(與rand()中的 RAND_MAX 不同),RAND_MAX 可以用函數 mt_getrandmax() 獲得 
  2. echo mt_rand(1000000, 9999999);  // 生成 1000000~9999999 之間的隨機數,不受系統 RAND_MAX 影響 
  3. $seed = time();          // 使用時間作為種子源 
  4. mt_srand($seed);         // 播下隨機數發生器種子 
  5. echo rand();           // 根據種子生成 0~RAND_MAX 之間的隨機數,如果 $seed 值固定,則生成的隨機數也不變 
  6. echo rand(1000000, 9999999);   // 根據種子生成 1000000~9999999 之間的隨機數,如果 $seed 值固定,則生成的隨機數也不變 

說明:rand() 和 mt_rand() 兩個函數生成的隨機數都是整數,不會包含英文字母。

3. uniqid函數

uniqid() 函數基于以微秒計的當前時間,生成一個唯一的 ID。默認生成ID的長度為13位或者23位,由英文字母和數字組成。uniqid() 函數有兩個參數,格式如下:

uniqid(prefix,more_entropy)

其中,prefix:生成ID的前綴

more_entropy:是否添加額外的熵

如下的程序

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

說明:由于基于系統時間,通過該函數生成的 ID 不是最佳的,如需生成絕對唯一的 ID,請使用 md5() 函數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舞阳县| 金沙县| 荃湾区| 宣武区| 六安市| 大兴区| 安平县| 玉龙| 乌鲁木齐市| 永年县| 营口市| 永川市| 中山市| 凤凰县| 昌邑市| 安达市| 三都| 丘北县| 威海市| 宝坻区| 化州市| 彰化市| 阿克陶县| 永德县| 濉溪县| 仁怀市| 循化| 泾源县| 平邑县| 枣阳市| 汕尾市| 海林市| 游戏| 桃园县| 柳林县| 个旧市| 鲜城| 花莲县| 山西省| 平顺县| 拉萨市|