我正在创建一个用于学习目的的票证系统,我想知道如何创建一个与此类似的简单的唯一票证 ID:gD8f-jxS
第一部分将有 4 个随机大小写字符
(允许使用字母和数字,然后它会有一个破折号,然后是 3 个任意大小写的随机字母或数字。
public function generateCode(){
$unique = FALSE;
$length = 7;
$chrDb = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9');
while (!$unique){
$str = '';
for ($count = 0; $count < $length; $count++){
$chr = $chrDb[rand(0,count($chrDb)-1)];
if (rand(0,1) == 0){
$chr = strtolower($chr);
}
if (3 == $count){
$str .= '-';
}
$str .= $chr;
}
/* check if unique */
//$existingCode = UNIQUE CHECK GOES HERE
if (!$existingCode){
$unique = TRUE;
}
}
return $str;
}