Rumah  >  Artikel  >  php教程  >  PHP生成随机字符串程序代码

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

WBOY
WBOYasal
2016-06-13 10:02:051248semak imbas

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

利用for循环把我们定义好的字符遍历即可

 代码如下 复制代码


/* Generate Password
* Length : 8
*/
$str = “0123456789abcdefghijklmnopqrstuvwxyz”;   //   输出字符集
$n = 8;   //   输出串长度
$len = strlen($str)-1;
for($i=0 ; $i $s .=  $str[rand(0,$len)];
}
echo $s . “
”;
?>


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

下面的$length=5,如果你改成10就是10位。
把$str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' 改成$str = '0123456789' 就是纯数字字符串。

 代码如下 复制代码

function getRandStr($length) { 
$str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randString = '';
$len = strlen($str)-1;
for($i = 0;$i $num = mt_rand(0, $len);
$randString .= $str[$num];
}
return $randString ; 
}

//使用方法如下
$test=getRandStr($length=5);
echo $test;
?>

或使用while

 代码如下 复制代码

 /**
  */
 function createRandomStr($length){
  $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符
  $strlen = 62;
  while($length > $strlen){
   $str .= $str;
   $strlen += 62;
  }
  $str = str_shuffle($str);
  return substr($str,0,$length);
 }
echo createRandomStr(10);

?>

利用数组和字符转换的思想:

 代码如下 复制代码

 /**
  *@blog
  */
 function createRandomStr($length){
  $str = array_merge(range(0,9),range('a','z'),range('A','Z'));
  shuffle($str);
  $str = implode('',array_slice($str,0,$length));
  return $str;
 }
 echo createRandomStr(10);
?>

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn