2012-07-19 44 views
0

我想比較以下:如果該值數組或價值不不等於假,返回。

if (is_array($value) != true || $value != false) return; 

這和我嘗試的任何其他變化看起來並不奏效。但是,當我在自己的if語句中單獨比較這些語句時,它們會返回正確的結果。

任何幫助將不勝感激!

+1

什麼是'的var_dump($值)'? – 2012-07-19 20:09:26

+0

在當前迭代中,bool(false)。第二次迭代是數組(1)。 – Jimmy 2012-07-19 20:15:10

+0

你正在使用'OR',所以如果'$ value'不是一個數組,它總是'返回'。你想要「AND」嗎? – 2012-07-19 20:17:23

回答

1

您最初說「如果它不是數組或不假」。你在倒退。你想要「如果該值是一個數組或假繼續,否則返回」。

所以:

// This says: "if it's not (an array or false)" 
if(!(is_array($value) || $value === FALSE)) return; 

使用De Morgan's laws,我們可以將此轉換爲

// This says: "if it's not an array and not false" 
if(!is_array($value) && $value !== FALSE) return; 
+0

啊,我明白你的意思了,已經奏效了,謝謝! – Jimmy 2012-07-19 20:48:13

+0

不客氣。 很高興我能幫上忙 :-) – 2012-07-19 20:49:26

相關問題