У меня есть этот код:
$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. Что я делаю не так?