我正在尝试比较以下内容:如果值不数组或值不等于false,则返回。 < / p>
if (is_array($value) != true || $value != false) return;
这个以及我正在尝试的任何其他变体似乎都不起作用。但是,当我在他们自己的if语句中单独比较它们时,它们会返回正确的结果。
非常感谢任何帮助!
答案 0 :(得分: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;
答案 1 :(得分:0)
我会这样写:
if (!is_array($value) || $value !== false)
php中的很多东西都可以是== false,但只有boolean false可以是=== false。 查看boolean type manual page和comparison operators manual page