PHP在IF子句中组合逻辑运算符

问题描述 投票:2回答:1

如何在php中成功构造以下伪代码IF子句?

if $a is NOT equal to 'B'
OR
if $a is NOT both a string AND equal to 'C' or 'D'
continue

仅澄清第二个条款

  • 如果$ a等于C或D而不是字符串,则继续
  • 如果$ a不等于C或D,即使它是字符串,它也会继续执行
  • 仅当$ a等于C或D并且字符串不连续时

这是我的尝试,但我没有正确否定第二句

if ( ($a != 'B') OR !(in_array($a, array("C", "D")) AND is_string($a) ) ) {      
  ...
}

if ( ($a != 'B') OR (!is_string($a) AND in_array($a, array("C", "D")) ) ) {      
  ...
}

谢谢

php if-statement
1个回答
0
投票
if ( ($a !== "B") || ( is_string($a) && !in_array($a, array("C", "D") ) ) { ... }  

是的,您做得很好

您也不清楚是否必须等于'B'的类型“如果$ a不等于'B'”

因此它既可以是if ( ($a !== "B") ||,也可以是if ( ($a != "B") ||

© www.soinside.com 2019 - 2024. All rights reserved.