<select name="month" id="month" >
<option value="">Select</option>
<?php
for ($i = 0; $i < 12; $i++) {
$date_str = date('M', strtotime("+ $i months"));
echo "<option value=$i>".$date_str ."</option>";
} ?>
</select>
当我从0开始运行此代码值时,我希望从1开始
例如:1月的值应为“1”。怎么可能?
答案 0 :(得分:3)
在输出之前,在每个月的数字中添加一(1)个。
for( $i = 0; $i < 12; $i++ )
{
$date_str = date( 'M', strtotime('+ $i months') );
echo sprintf( '<option value="%d">%s</option>', $i + 1, $date_str );
}
顺便说一句:HTML属性应该用引号写,以防止由空格引起的失败。
答案 1 :(得分:2)
<select name="month" id="month" >
<option value="">Select</option>
<?php
for ($i = 0; $i < 12; ) {
$date_str = date('M', strtotime("+ $i++ months"));
echo "<option value=$i>".$date_str ."</option>";
} ?>
</select>
将++移动到strtotime函数之后但在显示工作之前。您需要将for的最后一部分留空以使其正常工作
答案 2 :(得分:0)
for($ i = 1; $ i&lt; = 12; $ i ++)