PHP:生成随机字符串,后缀和前缀均为大写字母

时间:2012-07-09 14:58:32

标签: php

我想要创建一个随机的数字字符串,其中开头有一个固定的字母B和一个以任意随机字母结尾的八个整数的集合,例如B07224081A,其中A和其他数字是随机的。该字符串应该是唯一的。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

你的意思是这样吗?

$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()的更好方法,因为它基于毫秒。保证生成的字符串的唯一性。

答案 1 :(得分: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;