因为工具需我们需要写一个可以随机字符串生成了函数,这个我在想网上应该很多这类生成随机字符串函数,百度了一下一大堆下面我来给各位总结这些不错的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);
?>
|