-2

在这里我定义了我的月份名称数组

$months = array(1 => 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');

下面是我循环通过它以在下拉列表中获取月份名称的代码。

<tr>
    <td>Period From:<span id="star">*</span> 

        <select name="monthfrom" id="monthfrom" style="width:60px">
            <option value="Month">Month</option>
            <?php
            foreach ($months as $value) {
                echo '<option value="' . $value . '">' . $value . '</option>\n';
            }
            ?>
        </select>
    </td>
</tr>

执行后,我希望下拉列表中的月份名称,但值应该是两位数的月份编号(带前导零)。

4

4 回答 4

3
foreach ($months as $key=>$value) {
    printf('<option value="%02d">%s</option>', $key, $value);
}
于 2013-01-25T06:41:09.290 回答
0

除了使用$key=>$value,还可以使用计数器来确定对应月份的数值:

$x = 1;

foreach ($months as $value) {
    echo '<option value="' . $x . '">' . $value . '</option>\n';
    $x++;
}
于 2013-01-25T06:42:49.887 回答
0

你可以使用 foreeach 之类的

  foreach (array_expression as $key => $value)
     statement

来自手动 foreach ¶

所以现在你可以通过

foreach ($months as $key=>$value) {
    echo '<option value="' . $key . '">' . $value . '</option>\n';
}
于 2013-01-25T06:43:35.897 回答
0

它会帮助你。尝试这个,

$months = array('1' => 'Jan', '2'=>'Feb', '3'=>'Mar', '4'=>'Apr', '5'=>'May', '6'=>'Jun', '7'=>'Jul', '8'=>'Aug', '9'=>'Sep', '10'=>'Oct', '11'=>'Nov', '12'=>'Dec');

你的选择框应该是,

<select name="monthfrom" id="monthfrom" style="width:60px">
                        <option value="Month">Month</option>
                        <?php
                        foreach ($months as $key=> $value) {
                            echo '<option value="' . $key . '">' . $value . '</option>\n';
                        }
                        ?>
                        </select>
于 2013-01-25T06:43:42.000 回答