欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

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

上一篇:

下一篇: