如何启动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)
您无法在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
.
01
是八进制数1
(在本例中相当于十进制1
)。由于您希望将输出格式化为具有两位数的数字,请考虑使用printf
:
printf("<option value='%02d'", $i);
Run Code Online (Sandbox Code Playgroud)
%
标志着转换的开始0
意思是“用零填充字符串”2
表示“替换的最小长度应为 2”d
意思是“参数是一个整数”参考: