3

可能重复:
在 PHP 中用前导零格式化数字

我的值介于 00 - 29 之间,需要使用 PHP 随机选择。我尝试使用 rand() 函数,但它给了我 0 - 29。而不是 00、01、02、03 ...等。

如何从 PHP 中随机获取 00 - 09 而不是 0 - 9?谢谢。

4

6 回答 6

13
$random = sprintf("%02f", rand(0,29));

或者,如评论中所述:

$random = str_pad(rand(0,29), 2, "0", STR_PAD_LEFT);
于 2012-08-08T13:44:23.700 回答
1

创建一个数组,如

$array = array('00','01','02','03'....,'29');
echo $array[array_rand($array)];
于 2012-08-08T13:45:08.317 回答
1

使用str_pad

$random = str_pad(rand(0, 29), 2, '0', STR_PAD_LEFT);
于 2012-08-08T13:46:52.060 回答
0

a) 如果值低于 10,则添加“0”

b) 使用 number_format 处理输出

于 2012-08-08T13:44:52.153 回答
0

您可以使用 sprintf 格式化数字。

$number = rand(0,29);
$number = sprintf("%02d", $number);

搜索 sprintf 的 PHP 手册

于 2012-08-08T13:46:36.413 回答
0

您也可以使用这种不依赖于附加功能的方法:

$n = rand(0, 29);
if( $n < 10 ) $n = "0" . $n;
于 2012-08-08T13:47:50.127 回答