PHP - 获取逻辑运算符的对面如果测试

时间:2018-04-01 15:43:46

标签: php if-statement logical-operators

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

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

如果其中一个为真,则2个日期范围不重叠。我现在需要翻转这个以反过来,但我不知道如何使用它!或者||运算符。

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

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

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

1 个答案:

答案 0 :(得分:0)

如果要反转任何逻辑语句,例如

a = () => { }; // 1
b = new Def(this.a); // 2

constructor() {}

你可以使用if(strtotime($endDateA) <= strtotime(trim($startDateB)) or strtotime($startDateA) >= strtotime(trim($endDateB))) 来反转整个事情,但这可能会让人很难理解(恕我直言)。

如果您反转条件 - !变为<=>变为>=并将<翻转为or,给你

and