在整数的前面添加“0”

时间:2013-08-29 09:07:55

标签: php

嗨我正在使用mt_rand(1, 99999)生成一个随机整数,如果它不等于5位,它将在整数的前面加0。

这是我的第一次尝试:

$random_number = mt_rand(1, 99999);
$ran_len = strlen($random_number);

while ($ran_len != 5 ) {
$add_ran_num = str_pad($random_number, 1, "0", STR_PAD_LEFT);
}

echo $add_ran_num;

4 个答案:

答案 0 :(得分:7)

printf('%05d', mt_rand(1, 99999));

答案 1 :(得分:4)

您不需要strlenwhile循环:

$random_number = mt_rand(1, 99999);
$add_ran_num = str_pad($random_number, 5, "0", STR_PAD_LEFT);
echo $add_ran_num;

答案 2 :(得分:1)

这将做你想要的事情

$random_number = str_pad(mt_rand(1, 99999), 5, "0", STR_PAD_LEFT);

答案 3 :(得分:0)

您不会更新$ran_len的价值:

$random_number = mt_rand(1, 99999);
$ran_len = strlen($random_number);

while ($ran_len != 5 ) {    
    $add_ran_num = str_pad($random_number, 1, "0", STR_PAD_LEFT);
    $ran_len = strlen($random_number);//<---
}

echo $add_ran_num;

因此循环是无限的。

相关问题