PHP multiple如果条件为真

时间:2012-08-02 23:30:45

标签: php

我有这个PHP代码:

$supplier = $line[2];
if ($supplier == "supplier")
{
} else {
Header("Location: premium.php");
}

现在我希望将$ supplier ==“demo”包含在PHP代码中,如下所示:

$supplier = $line[2];
if ($supplier == "supplier" && $supplier == "demo")
{
} else {
Header("Location: premium.php");
}

但是后一个代码也不起作用...我的意思是如果$供应商等于除“供应商”或“演示”之外的其他东西,它仍然绕过它。它只适用于第一个。

我该如何安排呢?

4 个答案:

答案 0 :(得分:2)

这条线     if ($supplier == "supplier" && $supplier == "demo")

毫无意义。 $supplier在条件语句中间无法更改,因此永远不会成立。您可能正在寻找||(或)。

答案 1 :(得分:1)

if ($supplier == "supplier" && $supplier == "demo")

永远不会是真的,因为$供应商永远不可能同时出现。你需要一个或那样的OR:

if ($supplier == "supplier" || $supplier == "demo")

答案 2 :(得分:1)

绝对借此机会了解其他人提到的&&||的含义,但如果“或”确实是您正在寻找的逻辑,在这种情况下,我建议这样:

if ( in_array( $supplier, array( "supplier", "demo" ) ) )

答案 3 :(得分:0)

"&安培;&安培;"意思是:两个连接的陈述都必须是真的! " ||"意思是:其中一个陈述必须是真的!

你的构造没有意义,因为你说$ supplier必须是" demo" AND"供应商",这永远不会是真的,因为$ var只能有一个值。

WRONG:

if ($supplier == "supplier" && $supplier == "demo") // AND would also work

RIGHT:

if ($supplier == "supplier" || $supplier == "demo") // OR would also work