質問
ランダムな4桁の数字が必要です
現在、rand(1000,9999)を使用すると、常に4桁の数字が得られますが、可能な結果として0000-0999が削除されます。
どのように乱数をパディングしますか?
(これも最終的に文字列に追加される予定ですintを文字列としてキャストする必要がありますか?)
ありがとう
解決
PHPなどのスクリプト言語では、99%のケースでキャストする必要はありません。
パディングは次を使用して行うことができます
sprintf("%04u", rand(0, 9999));
説明
sprintf
の最初の引数は形式を指定します
-
%
は、2番目、3番目、4番目などの引数にとどまります。最初の%
は2番目の引数に置き換えられ、2番目の%
は3番目の引数に置き換えられます。 -
0
は、左側に0
を入力する動作のために残ります。 -
4
は"少なくとも4文字を印刷する必要があります"のままです -
u
は符号なし整数のままです。
他のヒント
sprintf("%04d", rand(0,9999))
必要なことを行う必要があります
手早くて汚い...どうしよう:
rand(10000,19999)
最後の4桁を取得します:
substr(rand(10000, 19999), 1, 4)
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);
rand()の代わりにmt_rand()を使用します。より良いです。
所属していません StackOverflow