麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

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

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

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

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. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄视频免费在线观看 | 欧美成人精品一区二区三区 | 久久丝袜脚交足黄网站免费 | 中文在线观看www | 青青草免费观看 | 欧美日韩在线视频一区 | 黄色淫片 | 成人免费精品视频 | 欧美性精品videofree | 久久国产精品系列 | 亚洲国产超高清a毛毛片 | 国产女厕一区二区三区在线视 | 伊人午夜视频 | 亚洲视频在线视频 | 看a级毛片| 国产一区二区国产 | 色交视频| 久久久成人精品视频 | 91网视频在线观看 | 欧美精品久久久久久久多人混战 | 日韩电影一区二区三区 | 久久久久国产精品久久久久 | 久久精品中文字幕一区二区三区 | 久久影院午夜 | 国产一区二精品区在线 | 一级免费观看 | 性看小视频 | 国产午夜精品久久久 | 色播一区| 91小视频在线观看免费版高清 | 久久久资源网 | 国产一区毛片 | 香蕉国产在线视频 | 另类亚洲孕妇分娩网址 | 操碰视频在线观看 | 国产日韩线路一线路二 | 免费h片 | 依依成人综合 | 欧美精品色精品一区二区三区 | 欧美综合在线观看 | 狠狠干网站|