PHP-如果测试,请获得逻辑运算符的对立面



我有一个简单的测试,可以确定2个日期范围之间是否没有重叠,如下所示:

          if(strtotime($endDateA) <= strtotime(trim($startDateB)) or strtotime($startDateA) >= strtotime(trim($endDateB))) {
          }

如果其中一个是正确的,则两个日期范围不会重叠。我现在需要对此进行翻转以获得相反的情况,但是我不确定如何使用!或||操作员。

我在PHP中没有太多的经验,到目前为止还没有任何工作。在其他语言中,我通常会做这样的事情:

(EndA <= StartB or StartA >= EndB) // original test
NOT (EndA <= StartB or StartA >= EndB) // opposite test

,但我无法弄清楚如何在php中做同样的事情。

如果要倒入任何逻辑语句,例如

if(strtotime($endDateA) <= strtotime(trim($startDateB)) 
    or strtotime($startDateA) >= strtotime(trim($endDateB)))

您可以使用!倒转整个过程,但这可能会使很难理解(IMHO(。

如果您将条件倒置 - 因此<=变为>>=变为<并将or翻转为and,则可以给您

if(strtotime($endDateA) > strtotime(trim($startDateB)) 
    and strtotime($startDateA) < strtotime(trim($endDateB)))

相关内容

  • 没有找到相关文章

最新更新