我有一个 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/