我想比较以下:如果该值不数组或价值不不等于假,返回。
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