【发布时间】:2012-08-05 15:24:23
【问题描述】:
我的值介于 00 - 29 之间,需要使用 PHP 随机选择。 我尝试使用 rand() 函数,但它给了我 0 - 29。而不是 00、01、02、03 ... 等等。
如何从 PHP 中随机获取 00 - 09 而不是 0 - 9?谢谢。
【问题讨论】:
标签: php
我的值介于 00 - 29 之间,需要使用 PHP 随机选择。 我尝试使用 rand() 函数,但它给了我 0 - 29。而不是 00、01、02、03 ... 等等。
如何从 PHP 中随机获取 00 - 09 而不是 0 - 9?谢谢。
【问题讨论】:
标签: php
$random = sprintf("%02f", rand(0,29));
或者,如 cmets 中所述:
$random = str_pad(rand(0,29), 2, "0", STR_PAD_LEFT);
【讨论】:
str_pad() 也是一个不错的选择。在这种情况下,技术比 *printf() 少一点。
str_pad()(杰森好点)并修复了小数错误
sprintf() 格式错误,请参阅更新。 (告诉你这是技术性的:)
使用str_pad:
$random = str_pad(rand(0, 29), 2, '0', STR_PAD_LEFT);
【讨论】:
创建一个类似的数组
$array = array('00','01','02','03'....,'29');
echo $array[array_rand($array)];
【讨论】:
a) 如果值低于 10,则添加“0”
b) 使用 number_format 处理输出
【讨论】:
您可以使用 sprintf 来格式化数字。
$number = rand(0,29);
$number = sprintf("%02d", $number);
在 PHP 手册中搜索 sprintf
【讨论】:
您也可以使用这种不依赖附加功能的方法:
$n = rand(0, 29);
if( $n < 10 ) $n = "0" . $n;
【讨论】: