我正在尝试用此信用卡表单更改年份。现在它只显示2014-2022。我试图将年度公式改为2013年开始。
<?php $year = date ("Y"); $i = 1;?>
<option value="" selected="selected">Please Select a Year</option>
<?php while($i < 10) { $year += 1; $i++;?>
<option value="<?=$year?>">
<?=$year?>
</option>
<?php } ?>
答案 0 :(得分:4)
$i
需要从0开始,以便第一年是2013 + 0,而不是2013 + 1.
<?php $year = date ("Y"); $i = 0;?>
更好的是,使用for
循环:
<? for ($year = date("Y"); $year < date("Y") + 10; ++$year) { ?>
<option value="<?= $year ?>"><?= $year ?></option>
<? } ?>
答案 1 :(得分:1)
将您的计数器移动到循环的末尾:
<?php $year = date ("Y"); $i = 1;?>
<option value="" selected="selected">Please Select a Year</option>
<?php while($i < 10) { ?>
<option value="<?=$year?>">
<?=$year?>
</option>
<?php $year += 1; $i++; } ?>
答案 2 :(得分:0)
它只是使用for循环,以年为计数器。
<option value="" selected="selected">Please Select a Year</option>
<?php for($year = (int)date("Y"); $year < ((int)date("Y"))+10; $year++): ?>
<option value="<?=$year?>"><?=$year?></option>
<?php endfor; ?>
</option>
答案 3 :(得分:0)
另一种方法;
$years = range(date('Y'), date('Y') + 10);
while ($year = array_shift($years)) {
printf("<option value=\"%d\">%d</option>\n", $year, $year);
}
// or
$years = range(date('Y'), date('Y') + 10); $i = 0;
while ($year =@ $years[$i++]) {
printf("<option value=\"%d\">%d</option>\n", $year, $year);
}