Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP For循环中的默认值_Php_Loops_For Loop - Fatal编程技术网

PHP For循环中的默认值

PHP For循环中的默认值,php,loops,for-loop,Php,Loops,For Loop,我有一个HTML选择表单来选择日/月/年,这是用PHP生成的。我的for循环(例如月份)如下所示: $html="<select name=\"".$name."month\">"; for($i=1;$i<=12;$i++) {$html.="<option value='$i'>$months[$i]</option>";} $html.="</select> "; 我似乎不知道如何将默认值设置为当前月份,同时在下拉列表

我有一个HTML选择表单来选择日/月/年,这是用PHP生成的。我的for循环(例如月份)如下所示:

$html="<select name=\"".$name."month\">";       
for($i=1;$i<=12;$i++)
 {$html.="<option value='$i'>$months[$i]</option>";}
$html.="</select> ";
我似乎不知道如何将默认值设置为当前月份,同时在下拉列表中保留所有以前的月份,我可以只设置$I=daten,但这样我就无法选择任何以前的月份

有人知道将默认值设置为当前日期的简单方法吗?多谢各位

试试这个:

<?php

$currentMonth = date("m");

$html = "<select name=\"" . $name . "month\">";
for ($i = 1; $i <= 12; $i++) {
    if ($i == $currentMonth) {
        $html .= "<option selected='selected' value='$i'>$months[$i]</option>";
    } else {
        $html .= "<option value='$i'>$months[$i]</option>";
    }
}
$html .= "</select> ";

echo $html;

?>
试试这个:

<?php

$currentMonth = date("m");

$html = "<select name=\"" . $name . "month\">";
for ($i = 1; $i <= 12; $i++) {
    if ($i == $currentMonth) {
        $html .= "<option selected='selected' value='$i'>$months[$i]</option>";
    } else {
        $html .= "<option value='$i'>$months[$i]</option>";
    }
}
$html .= "</select> ";

echo $html;

?>

谢谢我没有因为支持和速度而选择javascript方法。谢谢!我之所以选择javascript方法,并不是因为它的支持和速度。我相信这很简单,但对于一个几乎不懂PHP的人来说,我花了一个小时的时间进行故障排除,却无法解决这个问题。在for循环中,Google没有为默认值设置游戏。非常感谢您的回答@保罗我想说,如果我在他面前回答,我会得到+1。我知道这是孩子气的天性,渴望+1,但我有这种天性,我相信这很容易,但对于一个几乎不懂PHP的人来说,我无法用一个小时的故障排除来解决它。在for循环中,Google没有为默认值设置游戏。非常感谢您的回答@保罗我想说,如果我在他面前回答,我会得到+1。我知道为+1而死是幼稚的天性,但我有这种天性