2013-03-27 34 views
0

我有一個問題,使if聲明:如果與條件isset和比較語句時,沒有一起工作

<?php if (isset($detail) == 1) { ?> 
    // code if detail variable exists and is equal to 1 
<?php } else { ?> 
    // code if detail variable doesn't exist or is not equal 1 
<?php }?> 

出於某種原因,這種情況下是行不通的。我怎樣才能修復if條件,所以它會工作?

+0

什麼'細節'值產生意想不到的結果? – MichaelRushton 2013-03-27 21:01:11

回答

2

isset是一個布爾運算符,它返回TRUEFALSE。您無需將其與1進行比較。

if(isset($detail)) 

作爲一個方面說明,僅僅因爲設置了變量,並不意味着它不是空的。你可能想要檢查它是不是空的:

if(!empty($detail)) 
+0

aha所以這可能是問題,因爲我發送這樣的'$ this-> data ['detail'] = 0;'或'$ this-> data ['detail'] = 1;' – Derfder 2013-03-27 20:47:32

+0

因此,我應該使用空的嗎?它可以做得更簡單嗎?我的意思是在這個「雙重檢查」的PHP的任何功能? – Derfder 2013-03-27 20:48:23

+0

如果它不存在我會做我的幫手,但它會很整潔,如果它已經存在於php – Derfder 2013-03-27 20:49:47