php for循环以单个小数开始但在开始时需要0

时间:2014-08-21 19:29:50

标签: php

通常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

4 个答案:

答案 0 :(得分:4)

str_pad

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;)。如果您最终需要更多前导零,只需更改数字即可。我认为这是最可读的语法。