亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP也能干大事 隨機函數

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

寫在前面:PHP也能干大事是我總結的PHP語法特性及相關函數類庫的經典用法,并不一定是真正能實現四兩撥千斤的功效,但是掌握這些方法,可以在你的工作和學習上有一些幫助,希望大家能集思廣益,將《PHP也能干大事》豐富得更精彩!轉載請注明出處(3mc2.com)

二、前言

PHP是常見的腳本語言,主要是因為其簡單易學,上手快,幾乎50%以上的Web程序都有PHP的身影(不完全統計)。PHP為開發這提供了豐富的函數和API接口,這使得我們能夠非常方便地使用其強大的內置函數及擴展,本文是《PHP也能干大事》系列的第二篇,主要總結PHP在隨機數生成器方面的知識。

三、PHP隨機函數

PHP隨機函數主要有rand、mt_rand、array_rand,還有隨機“排列”(打亂順序)的函數shuffle、str_shuffle,能夠產生唯一ID的uniqid。

1、rand產生隨機數:

  1. <?php 
  2. $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
  3. $count = strlen($base); 
  4. $random = ''
  5. for ($i=0; $i < 16; $i++) {  
  6.  $random.=$base[rand(0,$count-1)]; 
  7. echo $random
  8. ?> 

rand()函數是使用libc 的隨機數發生器生成隨機數的,一般較慢,且有不確定因素,建議使用mt_rand函數替代。

getrandmax()函數可以返回rand函數能夠產生的最大的隨機數(我的系統為32767),所以在設置rand函數第二個參數時不要超高getrandmax的返回值。

2、mt_rand產生隨機數:

  1. <?php 
  2. $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
  3. $count = strlen($base); 
  4. $random = ''
  5. for ($i=0; $i < 16; $i++) {  
  6.  $random.=$base[mt_rand(0,$count-1)]; 
  7. echo $random
  8. ?> 

很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數默認使用 libc 隨機數發生器。mt_rand() 函數是非正式用來替換它的。該函數用了 » Mersenne Twister 中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。強烈建議在開發過程中使用mt_rand函數取代rand。

如果沒有提供可選參數 min 和 max,mt_rand() 返回 0 到 mt_getrandmax() 之間的偽隨機數。例如想要 3到 20(包括 3 和 20)之間的隨機數,用 mt_rand(3, 20)。

3、array_rand函數

  1. <?php 
  2. $base = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'); 
  3.    
  4. $random = ''
  5. for ($i=0; $i < 16; $i++) {  
  6.  $random.=$base[array_rand($base)]; 
  7. echo $random
  8. ?> 

array_rand返回數組中隨機的鍵值,有點類似mt_rand()函數,其余的沒什么特殊的地方,靈活運用而已。

4、shuffle函數

  1. <?php 
  2. $base = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'); 
  3. if(shuffle($base)){ 
  4.  print_r($base); 
  5. ?> 

shuffle函數是打亂一個數組的序列,有點隨機的意思,這里就放在隨機函數里了。返回值為bool值,相當于直接引用了原變量。

5、str_shuffle函數

  1. <?php 
  2. $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
  3. echo str_shuffle($base); 
  4. ?> 

這里str_shuffle的功能和shuffle的功能是類似的,唯一不同的是返回值,str_shuffle的原字符串是不變的。

6、uniqid函數

  1. <?php 
  2. echo uniqid(); 
  3. //54f806528172f 
  4. ?> 

uniqid能夠產生唯一的字符串,這個應用的范圍可以相當廣泛

四、總結

隨機函數幾乎是每種語言最基本的功能,PHP對于隨機函數的支持也不例外,這里介紹了rand、mt_rand、array_rand、shuffle、str_shuffle、uniqid函數的基本用法,更多可以結合實際應用靈活運用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清电影在线看| 日韩av一区二区在线观看| 欧美成在线观看| 亚洲精品二三区| 欧美日韩国产一区中文午夜| 影音先锋日韩有码| 欧美成人黄色小视频| 色综合久久中文字幕综合网小说| 亚洲性无码av在线| 国产日韩欧美在线播放| 亚洲女人天堂av| 88国产精品欧美一区二区三区| 亚洲最新av在线网站| 久久精品美女视频网站| 欧美高清电影在线看| 亚洲а∨天堂久久精品9966| 欧美日韩国产一区二区三区| 欧洲s码亚洲m码精品一区| 精品久久久久久亚洲国产300| 色与欲影视天天看综合网| 91成品人片a无限观看| 久久久久这里只有精品| 国产脚交av在线一区二区| 一区二区国产精品视频| 色七七影院综合| 久久久久久国产免费| 国产精品九九久久久久久久| 性金发美女69hd大尺寸| 久久久999成人| 国产精品成人品| 亚洲自拍偷拍区| 久久视频免费在线播放| 一本色道久久88亚洲综合88| 91av视频在线观看| 欧美激情视频网站| 国模视频一区二区| 91精品视频专区| 欧美激情国产高清| 91久久久久久久久久久| 成人午夜激情免费视频| 国产精品欧美一区二区| 久久久久久久久亚洲| 一区二区三区视频免费在线观看| 国产亚洲美女精品久久久| 韩国19禁主播vip福利视频| 欧美成年人视频网站| 97视频色精品| 欧美丰满少妇xxxxx做受| 亚洲精品久久久久久久久久久久久| 久久亚洲春色中文字幕| 国产日韩av在线| 国产精品久久久久久久久久尿| 欧美专区在线视频| 奇米4444一区二区三区| 91精品在线看| 久久亚洲成人精品| 日韩国产欧美区| 热久久免费国产视频| 色诱女教师一区二区三区| 国产成人精品综合| 欧美亚洲午夜视频在线观看| 中文字幕在线亚洲| 国产成人高潮免费观看精品| 精品国模在线视频| 精品一区二区三区三区| 九九久久久久久久久激情| 91在线色戒在线| 成人免费视频网| 亚洲国产精品va在线看黑人| 精品国产福利视频| 播播国产欧美激情| 欧美天天综合色影久久精品| 亚洲午夜久久久久久久| 日韩在线精品视频| 成人免费网站在线观看| 久久精品中文字幕一区| 5278欧美一区二区三区| 亚洲黄在线观看| 欧美一级片免费在线| 亚洲字幕在线观看| 久久影院资源站| 欧美视频一区二区三区…| 亚洲综合日韩中文字幕v在线| 精品久久久久久久久久国产| 亚洲日本中文字幕免费在线不卡| 亚洲国产精品字幕| 4388成人网| 少妇av一区二区三区| 久久人人爽人人爽人人片av高清| 91大神在线播放精品| 精品视频在线观看日韩| 亚洲电影天堂av| 久久久久日韩精品久久久男男| 精品成人69xx.xyz| 亚洲欧美日韩综合| 怡红院精品视频| 日韩电影免费观看在线观看| 成人激情电影一区二区| 91色在线视频| 亚洲自拍偷拍区| 亚洲激情国产精品| 精品成人在线视频| 久久久久久久久久久久av| 久久精品国产2020观看福利| 欧美肥老太性生活视频| 国产精品久久久久久久久久久新郎| 欧美精品激情blacked18| 亚洲一区制服诱惑| 久久久久久久久综合| 国产成人精品免高潮在线观看| 欧美有码在线视频| 亚洲国产成人精品一区二区| 欧美一区二区影院| 亚洲国产精品热久久| 久久精品成人欧美大片| 欧洲日本亚洲国产区| 午夜精品久久久99热福利| 亚洲第一中文字幕| 欧美整片在线观看| 91久久精品在线| 国产大片精品免费永久看nba| 国产精品无av码在线观看| 91高清视频在线免费观看| 色偷偷综合社区| 欧美一级大片在线观看| 国产精品久久久久久亚洲调教| 久久69精品久久久久久久电影好| 性色av一区二区三区在线观看| 亚洲视频国产视频| 国产精品久久二区| 亚洲毛片在线观看.| 精品国产精品自拍| 久久久精品久久久| 久久精品国产成人精品| 久久精品人人做人人爽| 日本三级久久久| 国产精品入口免费视频一| 亲子乱一区二区三区电影| 国产亚洲精品久久久久久| 欧美精品xxx| 91精品视频免费| 狠狠久久五月精品中文字幕| 国产精品igao视频| 亚洲第一区第二区| 美日韩丰满少妇在线观看| 日韩av电影在线网| 国产成人精品日本亚洲专区61| 国产一区二区在线免费视频| 欧美激情视频一区二区三区不卡| 中文字幕免费国产精品| 国产精品日韩在线| 欧美性xxxxx极品娇小| 亚洲人成绝费网站色www| 国产一区二区香蕉| 国产精品一区二区三| 久久99精品久久久久久琪琪| 亚洲最大成人免费视频| www.久久撸.com| 久久91精品国产| 亚洲国产天堂久久综合| 一本大道香蕉久在线播放29| 91影院在线免费观看视频| 久久99精品国产99久久6尤物| 中文字幕日韩欧美在线|