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

对于 $requiredFieldTRUE ,它只需要填写 - 对于第二部分:($optional1 || $optional2) optional1optional2 都可以。

编辑:

重新阅读问题后,我似乎误解了您的意思。如果用户 必须 输入一条特定的信息,并且 必须 从两个选项中仅选择 一个 (不是两者) - 那么应该使用以下选项。
if ($requiredField && ($optional1 ^ $optional2)) {
  /* Do something */
}

这意味着必须填写 $optional1$optional2 - 但不能同时填写。

关于PHP 运算符 if 语句 'and' 和 'or',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9072225/

10-11 13:30