每个月的每个月的循环

sca*_*and 2 php for-loop date

叫我johnny cut-corners,但是我想写一个简单的循环来添加到一个允许人们选择出生月份的SELECT ...

继承我的代码不起作用:

            <p>
            <label for="signup_birth_month">Birthday:</label>
            <select name="signup_birth_month" id="signup_birth_month">
            <option value="">Select Month</option>
            <?php

            for ($i = 1; $i <= 12; $i++)
            {
                $month_name = date('F', mktime(0, 0, 0, $i, 1, 2011));
                echo '<option value="'.$month_name.'"'.$month_name.'></option>';
            }

            ?>
            </select>
            </p>
Run Code Online (Sandbox Code Playgroud)

pax*_*blo 10

您需要引用value密钥:

echo "<option value=\"" . $month_name . "\">" . $month_name . "</option>";
Run Code Online (Sandbox Code Playgroud)

另外,我可能更喜欢这样的东西:

$months = array("Jan", "Feb", "Mar", ..., "Dec");
foreach ($months as $month) {
    echo "<option value=\"" . $month . "\">" . $month . "</option>";
}
Run Code Online (Sandbox Code Playgroud)

看来奇怪的,你将使所有这些不必要的电话datemktime当你知道这些值应该是什么.

这个数组版本具有相同的行数,并且它的意图似乎更清晰(至少对我而言).