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
Tag: PHP 随机字符串