<?php
echo '<select name="fromYear"';
$starting_year =date('Y', strtotime('-1 year'));
$current_year = date('Y');
$ending_year = date('Y', strtotime('+10 year'));
for($starting_year; $starting_year <= $ending_year; $starting_year++) {
echo '<option value="'.$starting_year.'"';
if( $starting_year == $current_year ) {
echo ' selected="selected"';
}
echo ' >'.$starting_year.'</option>';
}
echo '<select>';
?>
您好我有这段代码如何修改此...以显示从2017年开始的当前年份和上一年
开始年份:2017
2017年时:我只会看到2017年的下拉
2018:2017年,2018年
2019:2017年,2018年,2019年
2020:2017年,2018年,2019年,2020年
依旧......
答案 0 :(得分:1)
使用do while
开始当前年份,如下所示:
<?php
$starting_year = 2017;
$current_year = date('Y')*1;
echo '<select name="years">';
echo '<option>Select</option>';
do {
echo '<option value="'.$starting_year.'">'.$starting_year.'</option>';
$starting_year++;
}
while ($current_year >= $starting_year);
echo '</select>';
?>
在线Demo
来自PHP官方文档:
除了真相之外,do-while循环与while循环非常相似 在每次迭代结束时检查表达式而不是在 开始。与常规while循环的主要区别在于 do-while循环的第一次迭代保证运行(事实 表达式只在迭代结束时检查),而它 可能不一定会使用常规的while循环...