2012-07-19 55 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

相关问题