最新公告
  • 欢迎您光临波比源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • php随机生成字符串一些方法总结

    前面有讲过生成随机密码,下面我再来给大家介绍一些常用的生成随机字符串的函数吧,这些都是我们自定义的函数,当然也有系统自带函数了,不过都比较简单了。

    mt_rand函数,实例例子代码如下,在本例中,我们会返回一些随机数:

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

      "

    26. echo $str
    27. ?> 

    程序输出如下:

    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.bobi11.com
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

    波比源码 » php随机生成字符串一些方法总结

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    波比源码
    一个高级程序员模板开发平台
    升级波友尊享更多特权立即升级