使用 php 函数创建几个月的下拉菜单。

use*_*831 1 php dropdown

我正在使用此函数创建几个月的下拉菜单。

function formMonth(){
  $month = strtotime(date('Y').'-'.date('m').'-'.date('j').' - 12 months');
  $end = strtotime(date('Y').'-'.date('m').'-'.date('j').' + 0 months');
  while($month < $end){
      $selected = (date('F', $month)==date('F'))? ' selected' :'';
      echo '<option'.$selected.' value="'.date('F', $month).'">'.date('F', $month).'</option>'."\n";
      $month = strtotime("+1 month", $month);
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我需要使用 1 到 12 的数值作为选项值。

此时它使用月份名称来表示value这样的选项。

<select size="1" name="month">
<option selected value="January">January</option>
<option value="February">February</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何修改这个功能。谢谢。

Kau*_*hta 5

尝试下面的代码:

<select name="month" size='1'>
    <?php
    for ($i = 0; $i < 12; $i++) {
        $time = strtotime(sprintf('%d months', $i));   
        $label = date('F', $time);   
        $value = date('n', $time);
        echo "<option value='$value'>$label</option>";
    }
    ?>
</select>
Run Code Online (Sandbox Code Playgroud)