2012-02-03 38 views
0

在下面的代碼中,$ start_limit和$ end_limit爲FALSE時,應運行A。 B正在發生。我已經用var_dump測試了兩個變量都是FALSE。即使條件爲假,is_null也不工作

我使用的是is_null,因爲$ start_limit偶爾會設置爲0,我想要一個條件,其中0計爲TRUE。

if (is_null($start_limit) && is_null($end_limit)) { 
     A  

} else { 
     B   

} 

任何有關如何讓A在兩個變量都爲FALSE時運行的建議將非常感激。

回答

0

我想你想使用===而不是is_null。 False不是null,但是0!== false。三重平等檢查是您正在查找的完全匹配類型。

也許

if(false === $start_limit && !$end_limit) { 
// there are no limits, set the course for the heart of the sun! 
} 
else { 
    B 
} 
1

只需使用脅迫到布爾值。 !0!false都評估爲true

if (!$start_limit && !$end_limit) { 
    // A 
} else { 
    // B   
} 

http://ideone.com/aBbWJ

+0

謝謝你,成功了!只有我看到PHP文檔後纔得到的是is_null不起作用? – jsuissa 2012-02-03 04:14:05

+0

因爲'is_null'只返回'true',如果參數是'null' ... – 2012-02-03 04:15:02

相關問題