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