Друзья! Перегоняю расписание авиакомпании из вида DEP ARR START-DATE END-DATE OPERATION-DAYS ...., где START-DATE - начало периода (напр: 02JUL16) END-DATE - конец периода (напр: 12SEP16) OPERATION-DAYS - дни недели (напр: 123 5 7) в вид DEP ARR DEP-DATETIME ARR-DATETIME. В расписании 3К+ строк, период может вклюать текущую дату, быть до или после неё. Не интересуют рейсы в прошлом. Timeline: A B C START------------------------>END A, B, C = today. Если A - ничего не изменяю (все рейсы в будущем), если В - заменяю START-DATE на TODAY, чтобы не перебирать даты в прошлом, если С - игнорирую этот период - он в прошлом. Состряпал такое условие: Код (Text): // Тут цикл перебирает строки расписания foreach () { if (strtotime($today)>strtotime($start) AND strtotime($today)<strtotime($end)) { $start = $today; } else if (strtotime($today)>strtotime($end)) { GOTO END; } // тут стряп-ляп внутри цикла с каждым периодом, кроме тех что посланы в END END: } // конец цикла Без него получаю 50К рейсов (всех - и в прошлом и в будущем. С условием - остается 43К. Но WTF - 14 прошедших рейсов всё-равно болтается. ААААААААААААААААААААА))) Может пыха или апач тупят? Скорее всего, конечно это я туплю. Пж, помогите разобраться. Заранее благодарю. БОНУС: Вообще, стоит ли хранить эти 43К строк в базе? Мне, как ламеру, так проще ориентироваться в расписании. А что говорят по этому поводу британские учёные?
Пример #2 Сравнение объектов DateTime https://secure.php.net/manual/ru/datetime.diff.php Это очень плохо. AND -> &&, GOTO -> break/continue в циклах
denis01, спс за ответ и такую удивительную в своей простоте штуку continue. Условие переделал по мануалу newDateTime.... Но, увы, same shit Должно быть косяк не в условии
@g008 отладку делаешь? Так как у нас нет всего твоего кода в твоём окружении, вот инструкции, если что в них не понятно, то спрашивай debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550