2012-08-02 108 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")))