首页 > php开发 > PHP生成随机字符串程序代码

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

随意转载^^但请附上教程地址。

标签:随机 字符串 php生成

相关文章

发表留言