利用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 ; } //使用方法如下 |
或使用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.111cn.net> */ 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); ?> |
时间: 2024-12-27 16:06:37