我想比較以下:如果該值不數組或價值不不等於假,返回。
if (is_array($value) != true || $value != false) return;
這和我嘗試的任何其他變化看起來並不奏效。但是,當我在自己的if語句中單獨比較這些語句時,它們會返回正確的結果。
任何幫助將不勝感激!
我想比較以下:如果該值不數組或價值不不等於假,返回。
if (is_array($value) != true || $value != false) return;
這和我嘗試的任何其他變化看起來並不奏效。但是,當我在自己的if語句中單獨比較這些語句時,它們會返回正確的結果。
任何幫助將不勝感激!
您最初說「如果它不是數組或不假」。你在倒退。你想要「如果該值是一個數組或假繼續,否則返回」。
所以:
// 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;
啊,我明白你的意思了,已經奏效了,謝謝! – Jimmy 2012-07-19 20:48:13
不客氣。 很高興我能幫上忙 :-) – 2012-07-19 20:49:26
我會寫這樣的:
if (!is_array($value) || $value !== false)
在PHP中的許多東西都可以==假的,但只有布爾值false可以===假的。 結賬boolean type manual page和comparison operators manual page
什麼是'的var_dump($值)'? – 2012-07-19 20:09:26
在當前迭代中,bool(false)。第二次迭代是數組(1)。 – Jimmy 2012-07-19 20:15:10
你正在使用'OR',所以如果'$ value'不是一個數組,它總是'返回'。你想要「AND」嗎? – 2012-07-19 20:17:23