php – 使用chr rand生成随机字符(A-Z)

前端之家收集整理的这篇文章主要介绍了php – 使用chr rand生成随机字符(A-Z)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用以下方法从A-Z生成随机字符,但它偶尔会生成@符号.知道如何防止这种情况吗?也许字符范围不正确?
$letter = chr(64+rand(0,26));
使用它更容易……

大写

$letter = chr(rand(65,90));

小写

$letter = chr(rand(97,122));

ASCII CHART

下面的代码生成$length的随机字母数字字符串.你可以在那里看到你需要的数字.

function izrand($length = 32) {

                $random_string="";
                while(strlen($random_string)<$length && $length > 0) {
                        $randnum = mt_rand(0,61);
                        $random_string .= ($randnum < 10) ?
                                chr($randnum+48) : ($randnum < 36 ? 
                                        chr($randnum+55) : $randnum+61);
                 }
                return $random_string;
}

UPDATE: 12/19/2015

以下是上述函数的更新版本,它增加生成随机数字键或字母数字键的功能.要生成数字,只需添加
第二个参数是真的……

Example Usage

$randomNumber = izrand(32,true); //生成32位数字作为字符串
$randomAlphaNumeric = izrand(); //生成32位字母数字字符串

Typecast to Integer

如果要将数字类型转换为整数,请在执行此操作后执行此操作
生成数字.注意:如果它们存在,这将丢弃任何前导零.

$randomNumber =(int)$randomNumber;

izrand() v2

function izrand($length = 32,$numeric = false) {

    $random_string = "";
    while(strlen($random_string)<$length && $length > 0) {
        if($numeric === false) {
            $randnum = mt_rand(0,61);
            $random_string .= ($randnum < 10) ?
                chr($randnum+48) : ($randnum < 36 ? 
                    chr($randnum+55) : $randnum+61);
        } else {
            $randnum = mt_rand(0,9);
            $random_string .= chr($randnum+48);
        }
    }
    return $random_string;
}

猜你在找的PHP相关文章