たとえば、Aと他の数字がランダムであるB07224081Aのように、先頭に固定文字Bがあり、任意のランダム文字で終わる8つの整数のセットがあるランダムな数字の文字列を作成したいと思います。この文字列は一意である必要があります。これどうやってするの?
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 に答える