-1

嗨,伙计们,我想创建一个随机数字字符串,其中开头有一个固定字母 B,一组八个整数以任何随机字母结尾,例如 B07224081A,其中 A 和其他数字是随机的。这个字符串应该是唯一的。我怎样才能做到这一点?

4

2 回答 2

4

你的意思是这样的吗?

$letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$numbers = rand(10000000, 99999999);
$prefix = "B";
$sufix = $letters[rand(0, 25)];

$string = $prefix . $numbers . $sufix;
echo $string; // printed "B74099731P" in my case

字符越多 - 生成唯一字符串的机会就越大。

我认为这是更好的方法,uniqid()因为它基于毫秒。保证生成字符串的唯一性。

于 2012-07-09T15:06:24.343 回答
0

这应该适合你。

  $randomString = "B";
  for ($i = 0; $i < 9; $i++) {
    if ($i < 8) {
        $randomString.=rand(0,9);
    }  
    if ($i == 8) {
        $randomString.=chr(rand(65,90));
    }
  }
  echo $randomString;
于 2012-07-09T15:17:16.503 回答