php dropdown - 显示从2017年开始的当前年份

时间:2017-05-17 00:14:17

标签: php dropdown

<?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年

依旧......

1 个答案:

答案 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循环...