通常php for loop输出是1,2,3,4,5,6,7,8,9,10,11,但我在XML RPC代码中使用日期,如01,02,03,04 ,05,06,07,08,09
for ($i=1; $i<=20; $i++){
echo "The number is " . $i . "<br />";
}
输出: 1 2 3 4 五 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
但我的要求是 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
答案 0 :(得分:4)
for ($i=1; $i<=20; $i++){
echo "The number is " . str_pad($i,2,0,STR_PAD_LEFT) . "<br />";
}
答案 1 :(得分:0)
你总是可以运行一些代码来检查它是否只是一个数字(意味着它是否在10岁以下)
像
这样的东西for ($i = 1; $i <= 20; $i++){
if($i < 10) :
echo "The number is " . '0' . $i . "<br />";
else:
echo echo "The number is " . $i . "<br />";
endif;
}
我使用syntactic sugar作为if
语句,但你可以用花括号轻松替换冒号!希望有所帮助!
答案 2 :(得分:0)
您可以使用str_pad填充1-9中的数字0
$value = $i;
if ($i < 10) {
$value = str_pad($i, 2, "0", STR_PAD_LEFT);
echo "The number is " . $value . "<br />";
}
答案 3 :(得分:0)
我使用printf:
for ( $i = 1; $i <= 20; $i++ ){
printf( "The number is %02u <br />\n", $i );
}
02指定前导字符的最小数量(2)(&#34; 0&#34;)。如果您最终需要更多前导零,只需更改数字即可。我认为这是最可读的语法。