我需要一个随机的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