嗨,我正在生成一个随机整数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;
嗨,我正在生成一个随机整数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;
printf('%05d', mt_rand(1, 99999));
你不需要也不需要strlen循环while:
$random_number = mt_rand(1, 99999);
$add_ran_num = str_pad($random_number, 5, "0", STR_PAD_LEFT);
echo $add_ran_num;
这会做你想做的
$random_number = str_pad(mt_rand(1, 99999), 5, "0", STR_PAD_LEFT);
您不更新 的值$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;
因此循环是无限的。