バックグラウンド
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 行目です)
私が尋ねること
比較値が特別な場合、この方法を改善/最適化する方法はありますか?