TDLIB > PHP
php生成不重复随机字符串的方法
Allen   ·  2020.1120 22:30:30
Stat:960v. 0r. 0u. 0d. 0f 
#0. (Normal)

php生成不重复随机字符串的方法:

1、使用时间戳作为原始字符串,再随机生成五个字符随机插入任意位置,生成新的字符串,保证不重复

function rand($len){
        $chars=|ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz|;
        $string=time();
        for(;$len>=1;$len--) {
            $position=rand()%strlen($chars);
            $position2=rand()%strlen($string);
            $string=substr_replace($string,substr($chars,$position,1),$position2,0);
        }
        return $string;
}

2、使用array_slice()函数随机抽取

<?
$numbers = range (1,50);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$num=6;
$result = array_slice($numbers,0,$num);
print_r($result);
?>

3、首先创建一个PHP示例文件;然后定义一个“random_str”方法;接着通过“array_merge”等函数实现生成一个包含大写英文字母、小写英文字母以及数字的数组即可。

function random_str($length) {
    //生成一个包含 大写英文字母, 小写英文字母, 数字 的数组
    $arr = array_merge(range(0, 9), range(|a|, |z|), range(|A|, |Z|));
    $str = ||;
    $arr_len = count($arr);
    for ($i = 0; $i < $length; $i++) {
        $rand = mt_rand(0, $arr_len-1);
        $str.=$arr[$rand];
    }
    return $str.|<br>|;
}

for($j=0;$j<1200;$j++){
    $a= random_str(18);
    //$a=substr(md5(date(|YmdHis|).rand(1000,9999)),   8,   16);
    //echo $a.|<br><br>|;
}   

end

【Copyright Notice】
This article is original, follow CC 4.0 BY-SA copyright agreement! Please indicate the original url when repost.
Original url:https://tdlib.com/am.php?t=knrzPxHqzB1w

Tag:   PHP   随机字符串   
Next
【Related content】
Top     1/1 
You are not logged in, please [Register] or [Login]
(Register in one minute!)
Copyright ©TDLIB, All Rights Reserved.
Powered by TYCMS Version 1002