日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php隨機生成字符串一些方法總結

php隨機生成字符串一些方法總結

來源:程序員人生   發布時間:2013-12-10 16:33:22 閱讀次數:3679次

前面有講過生成隨機密碼,下面我再來給大家介紹一些常用的生成隨機字符串的函數吧,這些都是我們自定義的函數,當然也有系統自帶函數了,不過都比較簡單了。

mt_rand函數,實例例子代碼如下,在本例中,我們會返回一些隨機數:

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

下面我們來看看mt_rand函數的實例吧,代碼如下:

  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 

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

  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); // 將數組打亂 
  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

下面是一個小實例,默認生成的隨機字符串長度為5,生成的字符串包含:數字+大寫字母,函數功能:

1、生成指定長度的隨機字符串

2、靈活選擇生成的隨機字符串的復雜度

代碼如下:

  1. /** 
  2.   +---------------------------------------------------------- 
  3.  * 生成隨機字符串 
  4.   +---------------------------------------------------------- 
  5.  * @param int       $length  要生成的隨機字符串長度 
  6.  * @param string    $type    隨機碼類型:0,數字+大寫字母;1,數字;2,小寫字母;3,大寫字母;4,特殊字符;-1,數字+大小寫字母+特殊字符 
  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

另一個小實例:

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

2、通過array_rand()從數組 $chars 中隨機選出 $length 個元素.

3、根據已獲取的鍵名數組 $keys,從數組 $chars 取出字符拼接字符串。該方法的缺點是相同的字符不會重復取.

代碼如下:

  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 中隨機取 $length 個數組元素鍵名 
  13.     $keys = array_rand($chars$length); 
  14.     $password = ''
  15.     for($i = 0; $i < $length$i++) 
  16.     { 
  17.         // 將 $length 個數組元素連接成字符串 
  18.         $password .= $chars[$keys[$i]]; 
  19.     } 
  20.     return $password
  21. }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日本久久免费 | 精品一区二区视频 | 色淫网站 | 久久久美女| 岛国大片在线观看 | 精品国产乱码久久久久久影片 | 中文字幕在线观看一区二区三区 | 99精品国产九九国产精品 | 久久久免费精品 | 不卡影院| 成人精品影院 | 国产啪 | 狠狠爱成人 | 国产精品久久久久久中文字 | 在线免费国产视频 | 成人在线一区二区三区 | 99视频在线 | 1000部精品久久久久久久久 | 999成人免费视频 | 就要操| 日韩精品一区二区三区中文在线 | 网曝91综合精品门事件在线 | 国产美女av | 欧美日本成人 | 在线观看中文字幕 | 精品91久久 | 99精品免费久久久久久久久日本 | 美女高潮网站 | 亚洲精品乱码97久久久 | 国产精品视频一区二区三区不卡 | 亚洲精品色 | 五月婷婷网站 | 99re国产精品| 欧美精品久 | 久久精品亚洲精品国产欧美 | 亚洲一区二区黄色 | av在线一区二区三区四区 | 国产精品无码久久久久 | 成人一区二区三区四区 | 黄色小视频在线看 | 污视频在线观看网站 |