下面为生成随机码的函数,若发现有重复,则回调再次生成
为了验证功能,代码中加入了测试数据
function random_letters($length="6",$string="ABCDEFGHIJKLMNOPQRSTUVWXYZ"){
$string="ABC"; //测试数据
$len=strlen($string)-1;
$random="";
for($i=0;$i<$length;$i++){
$random.=$string[mt_rand(0,$len)];
}
//为了测试查重回调,在此设置假数据(灰色部分),实际应用可通过数据库或缓存验证重复
if(in_array($random,['AAA','AAB','AAC','ABA','ABB','ABC','ACA','ACB','ACC','BBB','BAA','BAB','BAC','BBA','BBC','BCC','BCA','BCB','CAA','CAC','CAB','CCA','CBA','CBB','CCB','CBC'])){
return random_letters($length);
}
return $random;
}
print_r(random_letters(3)); //调用,搭配上面代码仅输出“CCC”
打赏