0

我想要实现的是一个嵌套条件,例如if ((a = true && b = true) or (c = true && d = true)) {...}. 这似乎对我不起作用。

进一步解释:我在我们可以称之为“顶部”的地方有两个变量,在我们可以称之为“底部”的地方有两个变量。如果变量在“顶部”和“底部”中都为真,我需要做的是执行代码。

为了更简洁地说明:

if ((t1 = true && b1 = true) or
    (t1 = true && b2 = true) or
    (t2 = true && b1 = true) or
    (t2 = true && b2 = true)
) {
    ...do some stuff...
}

我很想把它称为“格子问题的条件语句”……除了它不是真正的格子问题……但如果你画它,它看起来确实有点像格子|X|……是的,你'如果你能告诉我一个很好的方法来做到这一点,那就太棒了,如果你能告诉我我应该怎么称呼它,你就太棒了。

4

3 回答 3

3

=用于赋值,==用于测试相等,===用于测试相等和相等类型。您需要使用==or ===,具体取决于 t1、t2、b1、b2 是否已经是布尔值或其他值。还有亚当所说的东西,除了那or是完全有效的。

于 2012-10-02T02:35:42.993 回答
2

您需要使用两个等号==而不是=. 此外,您的变量需要$在它们前面。你的“或”应该是||.

逻辑没问题。

它应该如下所示:

if (($t1 == true && $b1 == true) ||
    ($t1 == true && $b2 == true) ||
    ($t2 == true && $b1 == true) ||
    ($t2 == true && $b2 == true)
) {
    ...do some stuff...
}
于 2012-10-02T02:34:00.760 回答
0

改变条件

if (($t1 == true && $b1 == true) or
($t1 == true && $b2 == true) or
($t2 == true && $b1 == true) or
($t2 == true && $b2 == true)
)

=is 赋值运算符==是比较运算符。

于 2012-10-02T02:37:30.853 回答