如何在php中创建带有固定前缀的随机代码?

如何在php中创建带有固定前缀的随机代码?,php,random,Php,Random,如何生成一个唯一的代码,这将是一个8位代码,代码1-2表示固定(ZX),代码3-8是自动生成的代码。例如:“ZX23456X” 唯一代码的格式应如下所示: 1) 一个字母表。 2) 后跟5个数值 3) 前两个后面应该是固定的“ZX”$start='ZX'; $characters=array_merge(范围('A','Z')、范围('0','9'); 对于($i=0;$i

如何生成一个唯一的代码,这将是一个8位代码,代码1-2表示固定(ZX),代码3-8是自动生成的代码。例如:“ZX23456X”

唯一代码的格式应如下所示: 1) 一个字母表。 2) 后跟5个数值 3) 前两个后面应该是固定的“ZX”

$start='ZX';
$characters=array_merge(范围('A','Z')、范围('0','9');
对于($i=0;$i<6;$i++){
$rand=mt_rand(0,计数($characters)-1);
$start.=$characters[$rand];
}
echo$start;
那怎么办

您可以尝试使用
,请参见尝试

echo "ZX".substr(md5(uniqid(mt_rand(), true)), 0, 8);

你试过这个吗?这真是微不足道。为什么不干脆叫“ZX”呢$随机数?随机数应该是多少?如果它应该是随机的,我建议你随机化;验证是否以前从未生成过[database will Comy here]并保存到数据库中。如果您希望看到大量并发,那么应该将其包装在事务/锁定中,或者至少使用进程id作为数字的一部分。
function UniqCode($prefix="ZX",$length=8)
{
   return substr(strtoupper(uniqid($prefix)), 0, $length);
}
echo "ZX".substr(md5(uniqid(mt_rand(), true)), 0, 8);