фонСпособ расчета DateTime перекресток, где NULL можно
Я интегрируя Limesurvey с приложением, где новые маркеры обследования добавляются непосредственно в базу данных Limesurvey. Прежде чем вставить можно сделать, мне нужно проверить, что данный набор токенов (с атрибутами validfrom
и validuntil
) в Limesurvey не пересекается с заданным диапазоном дат (DateTime
).
Проблема
С Limesurveys лексем validfrom
и validuntil
атрибуты могут быть NULL
, простое сравнение DateTime
не может быть сделано, или может?
(A validfrom/validuntil
NULL
значение Limesurvey означает "всегда")
То, что я
класс PHP, который проверяет, если атрибуты Limesurvey являются NULL
(или нет), и возвращение вычислению пересечение по мере необходимости.
Код: http://phpfiddle.org/main/code/3vp-j3b
(Это то, что внутри цикла foreach
, линии 34-70, которые интересны здесь)
Что я прошу
Есть ли способ улучшить/оптимизировать этот метод, учитывая, что значения сравнения являются особыми?
Я не понял вопрос : Что и почему именно вы хотите оптимизировать? – BurninLeo
@BurninLeo OK, было недостаточно ясно ... Мне больше всего любопытно, есть ли более плавный способ добиться такого же результата. – Alasjo
Зависит от того, что вы хотите сглаживать. Например, если вы замените «новый DateTime» на не-объектное решение, скрипт становится быстрее, но менее читаемым. – BurninLeo