2012-08-02 50 views
0

我有这样的PHP代码:PHP倍数。如果条件为真

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

现在我想的是,包括$供应商==“演示”给PHP代码如下:

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

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

我该如何安排它?

+4

我想你需要'||' – nullpotent 2012-08-02 23:32:31

+0

而不是你的意思?谢谢 – 2012-08-02 23:32:57

+1

&&的意思是,$供应商不能同时为2个独立的东西,尝试用||替换&&。这意味着或者 – hackattack 2012-08-02 23:33:34

回答

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

永远是真实的,因为$供应商永远都在同一时间可以。你需要一个或者没有像现在这样:正如其他人所说

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

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

是没有意义的。 $supplier在条件语句中间不可能发生变化,因此永远不会是真的。您可能正在寻找||(或)。

0

“& &”表示:两个连接的语句必须为真! “||”意思是:其中一个陈述必须是真实的!

你的构造没有意义,因为你说$供应商必须是“演示”和“供应商”,它永远不会是真的,因为$ var只能有一个值。

WRONG:

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

RIGHT:

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

绝对借此机会了解&&||的意思,但如果“或”确实是你要找的逻辑,在这种情况下,我推荐这个:

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