我有一个 if 语句,我想控制一个字段需要输入,他们必须选择其他 2 个选项之一。
if(test1 && test || test3){
//Something here
}
我应该这样做吗:
if(test1 && (test2 || test3)){
//do stuff
}
我该怎么做。我无法理解逻辑...
最佳答案
if ($requiredField && ($optional1 || $optional2)) {
/* Do something */
}
对于要执行的 /* Do something */
代码位,if 语句的计算结果必须为 TRUE
。
这意味着,$requiredField
必须为 TRUE
,因此必须为 ($optional1 || $optional2)
。
要使 $requiredField
为 TRUE
,只需填写它 - 对于第二部分:($optional1 || $optional2)
optional1
或 optional2
都可以。
编辑:
重新看了一遍题目,好像是我理解错了。如果用户必须输入一条特定的信息,并且必须从两个选项中只选择一个(而不是两个)——那么下面应该被使用。
if ($requiredField && ($optional1 ^ $optional2)) {
/* Do something */
}
这意味着必须填写 $optional1
或 $optional2
- 但不能同时填写两者。
关于PHP 运算符 if 语句 'and' 和 'or',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072225/