【发布时间】:2010-10-29 07:43:41
【问题描述】:
我有这个代码:
$thisTime = gmmktime(0, 0, 0);
for($i=0; $i<=95; $i++)
{
$perfTimeNumber = ($i+1);
$perfTimestamp = $thisTime;
$perfTime = date("H:i", $perfTimestamp);
echo '<option value="'. $perfTimeNumber .'" selected="'.$sel.'">' .$perfTime .'</option>';
$thisTime = $thisTime+(15*60);
}
这可以很好地生成一个选择输入,其中包含从 01:00 到 24:45 的选项,间隔为 15 分钟。 但是,如果我更改代码并添加一个 if 语句,我会得到一些奇怪的结果......
$thisTime = gmmktime(0, 0, 0);
for($i=0; $i<=95; $i++)
{
$perfTimeNumber = ($i+1);
$perfTimestamp = $thisTime;
$perfTime = date("H:i", $perfTimestamp);
if ($perfTime == '19:30') {
$sel = "selected";
}
echo '<option value="'. $perfTimeNumber .'" selected="'.$sel.'">' .$perfTime .'</option>';
$thisTime = $thisTime+(15*60);
}
这个想法是(任意!)使选择输入默认为 19.30。上面的代码将selected = "selected" 添加到 19:30 之后的每个选项,而不仅仅是 19:30 选项。如果我将 if 语句稍微更改为 if ($perfTime = '19:30') { ...,即使用单个 = 而不是 ==,它会创建一组选项,所有选项的值都为 19:30。我做错了什么?
【问题讨论】:
-
以后源代码请使用code markdown代替HTML代码标签。尝试编辑器中的相应按钮或将代码块缩进四个空格,并用反引号 (`) 包围内联代码。
标签: php for-loop if-statement