Я использую следующий, в основном печатает выпадающий список с указанием всех часов с шагом 30 минут:PHP сброс While() цикл
$start = '12:00AM';
$end = '11:59PM';
$interval = '+30 minutes';
$start_str = strtotime($start);
$end_str = strtotime($end);
$now_str = $start_str;
echo '<select name="doors_open">';
while($now_str <= $end_str){
echo '<option value="' . date('h:i A', $now_str) . '">' . date('h:i A', $now_str) . '</option>';
$now_str = strtotime($interval, $now_str);
}
echo '</select>';
НО, я хочу сделать это дважды для другого поля дальше вниз страница ... вопрос, как сбросить цикл?
Вот что я пытался, но не работает:
echo '<select name="event_start">';
reset($now_str);
reset($end_str);
while($now_str <= $end_str){
echo '<option value="' . date('h:i A', $now_str) . '">' . date('h:i A', $now_str) . '</option>';
$now_str = strtotime($interval, $now_str);
}
echo '</select>';
Придется добавить еще одну переменную в функцию, иначе все бы имели такое же имя –
@DarrenSweeney Я добавил один. – ComFreek
Большое спасибо! Есть ли причина возвращать $ str, а затем эхо-функцию, а не echo $ str внутри функции, а затем просто вызвать функцию без эха? Просто любопытно –