程序员人生 网站导航

PHP生成随机字符串程序代码

栏目:php教程时间:2014-04-09 07:51:17

因为工具需我们需要写一个可以随机字符串生成了函数,这个我在想网上应该很多这类生成随机字符串函数,百度了一下一大堆下面我来给各位总结这些不错的php函数。

利用for循环把我们定义好的字符遍历即可,代码如下:

  1. <?php 
  2. /* Generate Password 
  3. * Length : 8 
  4. */ 
  5. $str = “0123456789abcdefghijklmnopqrstuvwxyz”;   //   输出字符集 
  6. $n = 8;   //   输出串长度 
  7. $len = strlen($str)-1; 
  8. for($i=0 ; $i<$n$i++){ 
  9. $s .=  $str[rand(0,$len)]; 
  10. echo $s . “<br/>”; 
  11. ?> 

可以生成指定长度的纯数字字符串、字符字符串等等,(大写、小写、大小写及大小写与数字的组合,还可以根据喜好进行扩充)。

下面的$length=5,如果你改成10就是10位。

把$str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' 改成$str = '0123456789' 就是纯数字字符串,代码如下:

  1. <?php 
  2. function getRandStr($length) {   
  3. $str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';  
  4. $randString = '';  
  5. $len = strlen($str)-1;  
  6. for($i = 0;$i < $length;$i ++){  
  7. $num = mt_rand(0, $len);  
  8. $randString .= $str[$num];  
  9. }  
  10. return $randString ;   
  11. //使用方法如下 
  12. $test=getRandStr($length=5); 
  13. echo $test
  14. ?> 

或使用while,代码如下:

  1. <?php 
  2.  /** 
  3.   */ 
  4.  function createRandomStr($length){ 
  5.   $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符 
  6.   $strlen = 62; 
  7.   while($length > $strlen){ 
  8.    $str .= $str
  9.    $strlen += 62; 
  10.   } 
  11.   $str = str_shuffle($str); 
  12.   return substr($str,0,$length); 
  13.  } 
  14. echo createRandomStr(10); 
  15. ?> 

利用数组和字符转换的思想,代码如下:

  1. <?php 
  2.  /** 
  3.   *@blog <www.phpfensi.com> 
  4.   */ 
  5.  function createRandomStr($length){ 
  6.   $str = array_merge(range(0,9),range('a','z'),range('A','Z')); 
  7.   shuffle($str); 
  8.   $str = implode('',array_slice($str,0,$length)); 
  9.   return $str
  10.  } 
  11.  echo createRandomStr(10); 
  12. ?>
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐