バックグラウンド
Limesurveyをアプリケーションと統合しています。このアプリケーションでは、新しい調査トークンが Limesurvey データベースに直接追加されます。挿入を行う前に、Limesurvey の特定のトークン セット (validfrom
とvaliduntil
属性を含む) が特定の日付範囲 ( ) と交差しないことを確認する必要がありますDateTime
。
問題
Limesurveys のトークンvalidfrom
とvaliduntil
属性は である可能性があるためNULL
、 の単純な比較はDateTime
できませんか?
(Limesurveyvalidfrom/validuntil
NULL
値は「常に」を意味します)
私が持っているもの
Limesurvey 属性があるかどうかをチェックしNULL
、必要に応じて交差の計算を返す PHP クラス。
コード: http://phpfiddle.org/main/code/3vp-j3b
(ここで興味深いのは、foreach
ループ内の34 ~ 70 行目です)
私が尋ねること
比較値が特別な場合、この方法を改善/最適化する方法はありますか?