多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > php教程 > php隨機(jī)生成字符串一些方法總結(jié)

php隨機(jī)生成字符串一些方法總結(jié)

來(lái)源:程序員人生   發(fā)布時(shí)間:2013-12-10 16:33:22 閱讀次數(shù):3673次

前面有講過生成隨機(jī)密碼,下面我再來(lái)給大家介紹一些常用的生成隨機(jī)字符串的函數(shù)吧,這些都是我們自定義的函數(shù),當(dāng)然也有系統(tǒng)自帶函數(shù)了,不過都比較簡(jiǎn)單了。

mt_rand函數(shù),實(shí)例例子代碼如下,在本例中,我們會(huì)返回一些隨機(jī)數(shù):

  1. echo(mt_rand()); 
  2. echo(mt_rand()); 
  3. echo(mt_rand(10,100)); 
  4. ?> 
  5. //輸出類似: 
  6. 3150906288 
  7. 513289678 
  8. 35 

下面我們來(lái)看看mt_rand函數(shù)的實(shí)例吧,代碼如下:

  1. function roll () {  
  2.   return mt_rand(1,6);  
  3.   } 
  4. echo roll(); 
  5. function roll ($sides) {  
  6.   return mt_rand(1,$sides); 
  7. }  
  8.   echo roll(6); // roll a six-sided die  
  9.   echo roll(10); // roll a ten-sided die  
  10.   echo roll(20); // roll a twenty-sided die 

上面都只能生成簡(jiǎn)單的純數(shù)字,不能是字母或數(shù)字與字母的,下面我們需用到自定義函數(shù)了,代碼如下:

  1. function genRandomString($len) { 
  2.     $chars = array
  3.         "a""b""c""d""e""f""g""h""i""j""k"
  4.         "l""m""n""o""p""q""r""s""t""u""v"
  5.         "w""x""y""z""A""B""C""D""E""F""G"
  6.         "H""I""J""K""L""M""N""O""P""Q""R"
  7.         "S""T""U""V""W""X""Y""Z""0""1""2"
  8.         "3""4""5""6""7""8""9"  
  9.     ); 
  10.     $charsLen = count($chars) - 1; 
  11.     shuffle($chars); // 將數(shù)組打亂 
  12.      
  13.     $output = ""
  14.     for ($i=0; $i<$len$i++) { 
  15.         $output .= $chars[mt_rand(0, $charsLen)]; 
  16.     } 
  17.      
  18.     return $output
  19. $str = genRandomString(25); 
  20. $str .= ""
  21. $str .= genRandomString(25); 
  22. $str .= ""
  23. $str .= genRandomString(25); 
  24. $str .= ""
  25. echo $str
  26. ?> 

程序輸出如下:

DmLVAmDkEJz8wHXRCNwzvANlB

BILZSA19YyuSVcR17KrrZsOKO

inlWlQF0GSabN3l589y9s16Gg

下面是一個(gè)小實(shí)例,默認(rèn)生成的隨機(jī)字符串長(zhǎng)度為5,生成的字符串包含:數(shù)字+大寫字母,函數(shù)功能:

1、生成指定長(zhǎng)度的隨機(jī)字符串

2、靈活選擇生成的隨機(jī)字符串的復(fù)雜度

代碼如下:

  1. /** 
  2.   +---------------------------------------------------------- 
  3.  * 生成隨機(jī)字符串 
  4.   +---------------------------------------------------------- 
  5.  * @param int       $length  要生成的隨機(jī)字符串長(zhǎng)度 
  6.  * @param string    $type    隨機(jī)碼類型:0,數(shù)字+大寫字母;1,數(shù)字;2,小寫字母;3,大寫字母;4,特殊字符;-1,數(shù)字+大小寫字母+特殊字符 
  7.   +---------------------------------------------------------- 
  8.  * @return string 
  9.   +---------------------------------------------------------- 
  10.  */ 
  11. function randCode($length = 5, $type = 0) { 
  12.     $arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|"); 
  13.     if ($type == 0) { 
  14.         array_pop($arr); 
  15.         $string = implode(","$arr); 
  16.     } else if ($type == "-1") { 
  17.         $string = implode(","$arr); 
  18.     } else { 
  19.         $string = $arr[$type]; 
  20.     } 
  21.     $count = strlen($string) - 1; 
  22.     for ($i = 0; $i < $length$i++) { 
  23.         $str[$i] = $string[rand(0, $count)]; 
  24.         $code .= $str[$i]; 
  25.     } 
  26.     return $code

另一個(gè)小實(shí)例:

1、預(yù)置一個(gè)的字符數(shù)組 $chars,包括 a – z,A – Z,0 – 9,以及一些特殊字符

2、通過array_rand()從數(shù)組 $chars 中隨機(jī)選出 $length 個(gè)元素.

3、根據(jù)已獲取的鍵名數(shù)組 $keys,從數(shù)組 $chars 取出字符拼接字符串。該方法的缺點(diǎn)是相同的字符不會(huì)重復(fù)取.

代碼如下:

  1. function make_password( $length = 8 ) 
  2.     // 密碼字符集,可任意添加你需要的字符 
  3.     $chars = array('a''b''c''d''e''f''g''h',  
  4.     'i''j''k''l','m''n''o''p''q''r''s',  
  5.     't''u''v''w''x''y','z''A''B''C''D',  
  6.     'E''F''G''H''I''J''K''L','M''N''O',  
  7.     'P''Q''R''S''T''U''V''W''X''Y','Z',  
  8.     '0''1''2''3''4''5''6''7''8''9''!',  
  9.     '@','#''$''%''^''&''*''('')''-''_',  
  10.     '['']''{''}''<''>''~''`''+''='',',  
  11.     '.'';'':''/''?''|'); 
  12.     // 在 $chars 中隨機(jī)取 $length 個(gè)數(shù)組元素鍵名 
  13.     $keys = array_rand($chars$length); 
  14.     $password = ''
  15.     for($i = 0; $i < $length$i++) 
  16.     { 
  17.         // 將 $length 個(gè)數(shù)組元素連接成字符串 
  18.         $password .= $chars[$keys[$i]]; 
  19.     } 
  20.     return $password
  21. }
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日韩欧美亚洲每日更新网 | 成人无遮挡免费网站视频在线观看 | 国产女人18毛片水真多18精品 | 手机福利在线 | 高清欧美在线三级视频 | 成人精品视频一区二区三区 | 免费精品 | 国产美女精品自拍 | 黑人巨大 | 欧美成人毛片在线视频 | 在线亚洲精品 | 国产在线不卡免费播放 | 日本不卡不码高清免费观看 | 欧美人与物3dvideos | 在线观看中文字幕国产 | 麻豆 一区 精品 在线 | 亚洲国产情侣一区二区三区 | 久久毛片免费看 | 亚洲成a人片 | 国产人成亚洲第一网站在线播放 | 麻豆影视视频高清在线观看 | 欧美极度另类videos | 欧美人与动性xxxxx杂性 | 日韩一级片免费 | 欧美日韩另类国产 | 日本一级黄色 | free性德国丰满hd | 综合 欧美 小说 另类 图 | 伊人久久中文字幕久久cm | 欧美精品一区二区三区观 | 成人午夜免费在线观看 | 538亚洲欧美国产日韩在线精品 | 亚洲欧美成人综合 | 中文字幕第4页 | xxxporn日本护士24 | 成人自拍视频在线观看 | 国内精品视频在线播放一区 | 91亚洲国产成人精品性色 | 中国嫩模一级毛片 | 国产91嫩草精品 | 国产高清不卡 |