嗨,伙计们,我想创建一个随机数字字符串,其中开头有一个固定字母 B,一组八个整数以任何随机字母结尾,例如 B07224081A,其中 A 和其他数字是随机的。这个字符串应该是唯一的。我怎样才能做到这一点?
问问题
2876 次
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 回答