嗨我正在使用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;
答案 0 :(得分:7)
printf('%05d', mt_rand(1, 99999));
答案 1 :(得分:4)
您不需要strlen
或while
循环:
$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;
因此循环是无限的。