如果条件,PHP嵌套

时间:2012-10-02 02:32:54

标签: php

我想要实现的是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,如果你能告诉我一个很好的方法,你真是太棒了,如果你能告诉我我应该怎么称呼你,那你就太棒了。

3 个答案:

答案 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)
)

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