PHP生成随机字符串程序代码
因为工具需我们需要写一个可以随机字符串生成了函数,这个我在想网上应该很多这类生成随机字符串函数,百度了一下一大堆下面我来给各位总结这些不错的php函数。
利用for循环把我们定义好的字符遍历即可,代码如下:
<?php /* Generate Password * Length : 8 */ $str = "0123456789abcdefghijklmnopqrstuvwxyz"; // 输出字符集 $n = 8; // 输出串长度 $len = strlen($str) - 1; for ($i = 0; $i < $n; $i++) { $s.= $str[rand(0, $len) ]; } echo $s . "<br/>"; ?>
可以生成指定长度的纯数字字符串、字符字符串等等,(大写、小写、大小写及大小写与数字的组合,还可以根据喜好进行扩充)。
下面的$length=5,如果你改成10就是10位。
把$str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' 改成$str = '0123456789' 就是纯数字字符串,代码如下:
<?php function getRandStr($length) { $str = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randString = ''; $len = strlen($str) - 1; for ($i = 0; $i < $length; $i++) { $num = mt_rand(0, $len); $randString.= $str[$num]; } return $randString; } //使用方法如下 $test = getRandStr($length = 5); echo $test; ?>
或使用while,代码如下:
<?php /** */ 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); ?>
利用数组和字符转换的思想,代码如下:
<?php /** *@blog <www.phprm.com> */ 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); ?>
文章网址:http://www.phprm.com/develop/fs1111.html
随意转载^^但请附上教程地址。