比较$ foo is_array或$ foo是假的

时间:2012-07-19 20:04:47

标签: php

我正在尝试比较以下内容:如果值数组或值等于false,则返回。 < / p>

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

这个以及我正在尝试的任何其他变体似乎都不起作用。但是,当我在他们自己的if语句中单独比较它们时,它们会返回正确的结果。

非常感谢任何帮助!

2 个答案:

答案 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 pagecomparison operators manual page