如何用01而不是1开始for循环?

Tom*_*Tom 2 php

如何启动for循环而01不是1?我已经尝试了下面的内容,但它似乎没有用.

for ($i = 01; $i <= 12; $i++) {
    echo "<option value='$i'";
    if ($i == $post_response[expiremm]) { 
        echo " selected='selected'"; 
    }
    $month_text = date("F", mktime(0, 0, 0, $i+1, 0, 0, 0));
    echo ">$month_text</option>"; 
} 
Run Code Online (Sandbox Code Playgroud)

Gra*_*mas 8

您无法在01处真正启动整数,您需要填充该值,可能使用str_pad前导元素作为字符串前缀:

$value = $i;
if ($i < 10) {
    $value = str_pad($i, 2, "0", STR_PAD_LEFT);
}
Run Code Online (Sandbox Code Playgroud)

请注意,对于不同的单位类型,您显然需要更改所需的单位类型pad_length.


Lek*_*eyn 5

01是八进制数1(在本例中相当于十进制1)。由于您希望将输出格式化为具有两位数的数字,请考虑使用printf

printf("<option value='%02d'", $i);
Run Code Online (Sandbox Code Playgroud)
  • %标志着转换的开始
  • 0意思是“用零填充字符串”
  • 2表示“替换的最小长度应为 2”
  • d意思是“参数是一个整数”

参考: