如何将月份名称数组转换为数字数组

时间:2013-01-25 06:39:17

标签: php

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

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

下面是代码i循环throgh它用于在下拉列表中获取月份名称。

<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 个答案:

答案 0 :(得分:3)

foreach ($months as $key=>$value) {
    printf('<option value="%02d">%s</option>', $key, $value);
}

答案 1 :(得分:0)

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

$x = 1;

foreach ($months as $value) {
    echo '<option value="' . $x . '">' . $value . '</option>\n';
    $x++;
}

答案 2 :(得分:0)

你可以使用像

这样的foreach
  foreach (array_expression as $key => $value)
     statement

from manual foreach ¶

所以现在你可以通过

来做到这一点
foreach ($months as $key=>$value) {
    echo '<option value="' . $key . '">' . $value . '</option>\n';
}

答案 3 :(得分: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>