如何生成唯一的 6 位数代码

2024-04-21

我想生成 6 位唯一代码,但我希望前 3 个是字母,后 3 个是数字,如下例所示。

AAA111
ABD156
DFG589
ERF542...

请帮助使用上述组合创建代码..

下面是我的代码..

public function generateRandomString()  {
        $characters = '1234567890';
        $length = 6;
        $charactersLength = strlen($characters);
        $randomString = '';
        for ($i = 0; $i < $length; $i++) {
            $randomString .= $characters[rand(0, $charactersLength - 1)];
        }
        return $randomString;
    }

您希望前 3 个字符为字母,后 3 个字符为数字?那么你应该分别处理它们。

function genRandStr(){
  $a = $b = '';

  for($i = 0; $i < 3; $i++){
    $a .= chr(mt_rand(65, 90)); // see the ascii table why 65 to 90.    
    $b .= mt_rand(0, 9);
  }

  return $a . $b;
}

您还可以使用函数参数来添加动态性,对于随机顺序,您可以执行以下操作:

// PHP >= 7 code
function genRandStr(int $length = 6, string $prefix = '', string $suffix = ''){
  for($i = 0; $i < $length; $i++){
    $prefix .= random_int(0,1) ? chr(random_int(65, 90)) : random_int(0, 9);
  }

  return $prefix . $suffix;
}

Use mt_rand() http://php.net/manual/en/function.mt-rand.php对于 PHP 版本 random_int()被推荐。

不过,您仍然需要检查可能的冲突并将其放入 while 循环中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何生成唯一的 6 位数代码 的相关文章

随机推荐