我需要一個隨機的4位數字簡單的RAND()的問題
現在即時通訊使用蘭特(1000,9999)總是給我一個4位數字,但我消除了0000-0999的可能結果。
你怎麼填一個隨機數?
(也這最終將被添加到字符串做我需要轉換INT爲字符串?)
感謝
我需要一個隨機的4位數字簡單的RAND()的問題
現在即時通訊使用蘭特(1000,9999)總是給我一個4位數字,但我消除了0000-0999的可能結果。
你怎麼填一個隨機數?
(也這最終將被添加到字符串做我需要轉換INT爲字符串?)
感謝
在像PHP這樣的腳本語言中,你不必投射99%的案例。
填充可以使用
sprintf("%04u", rand(0, 9999));
說明
的sprintf
的第一個參數指定
%
停留在第二,第三,第四等參數的形式來完成。第一個%
被第二個參數取代,第二個%
被第三個等替換。0
停留在向左填充0
的行爲。4
停留爲「至少4個字符應該打印」u
保留爲無符號整數。快速和骯髒......如何這樣做:
rand(10000,19999)
,並採取最後四位數:
substr(rand(10000, 19999), 1, 4)
聰明!我必須說。思考開箱即用。 – 2009-10-23 14:06:31
雖然這會起作用,但在代碼中遇到這個問題會讓我停下來想知道發生了什麼。 – 2009-10-23 14:06:52
@LFSR:你說得對,這就是爲什麼它很快和「髒」。 :-) – Tenner 2009-10-23 14:07:56
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);
使用,而不是()mt_rand蘭特(),它的更好。
+1我還是給你支票 – Crash893 2009-10-23 14:09:15
+1。很好的解析格式字符串。我總是要看他們:-) – Joey 2009-10-23 14:12:57