我想要实现的是if ((a = true && b = true) or (c = true && d = true)) {...}
之类的嵌套条件。这对我来说似乎没有用。
进一步解释:我有两个变量叫做'top',两个变量叫做'bottom'。我需要做的是,如果'top'和'bottom'中的变量都为真,则执行代码。
更简洁地说明:
if ((t1 = true && b1 = true) or
(t1 = true && b2 = true) or
(t2 = true && b1 = true) or
(t2 = true && b2 = true)
) {
...do some stuff...
}
我很想把它称为'晶格问题的条件陈述'......除了它不是一个真正的晶格问题......但如果你绘制它,它看起来就像一个格子|X|
... s'yeah,如果你能告诉我一个很好的方法,你真是太棒了,如果你能告诉我我应该怎么称呼你,那你就太棒了。
答案 0 :(得分:3)
=
用于赋值,==
用于测试相等性,===
用于测试相等性和相等类型。您需要使用==
或===
,具体取决于t1,t2,b1,b2是否已经是布尔值或其他内容。除了or
之外,亚当所说的内容完全有效。
答案 1 :(得分:2)
您需要使用两个等号==
而不是=
。此外,您的变量需要在它们前面有$
。而你的“或”应该是||
。
逻辑没问题。
它应该是这样的:
if (($t1 == true && $b1 == true) ||
($t1 == true && $b2 == true) ||
($t2 == true && $b1 == true) ||
($t2 == true && $b2 == true)
) {
...do some stuff...
}
答案 2 :(得分:0)
改变条件
if (($t1 == true && $b1 == true) or
($t1 == true && $b2 == true) or
($t2 == true && $b1 == true) or
($t2 == true && $b2 == true)
)
=
是赋值运算符==
是比较运算符。