出于学习目的,我正在创建一个票证系统,我想知道如何创建一个简单的唯一票证ID,它类似于下面的内容:gD8f-jxS
在第一部分中,它将有4个随机大小写字符
(字母和数字是允许的,那么它将有一个破折号,再一次是3个任意大小写的随机字母或数字。
发布于 2012-05-21 07:01:48
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;
}
https://stackoverflow.com/questions/10677836
复制相似问题