php没有返回false的值

时间:2009-12-24 03:46:45

标签: php return-value

我不能在这里得到假值。真值返回正常。我错过了什么?

if ((count($this->_brokenRulesCollection)) == 0)  {
    return true;
} else {
    return false;
}

4 个答案:

答案 0 :(得分:13)

在PHP中,false转换为字符串时为空字符串,true转换为字符串为“1”。

使用var_dump代替echo进行调试。

答案 1 :(得分:0)

如果数组false不为空,则代码可以返回$this->_brokenRulesCollection

如果$this->_brokenRulesCollection不是数组或具有已实现Countable接口的对象,则count($this->_brokenRulesCollection)将返回1.

答案 2 :(得分:0)

在条件表达式中(除非使用类型匹配运算符===或!==)任何非零整数等于true,任何非零长度字符串等效于true,反之,零或空字符串是假的。

所以

if ((count($this->_brokenRulesCollection)) == 0)  {
   return true;
} else {
  return false;
}

可以写成:

return count($this->_brokenRulesCollection);

下进行。

答案 3 :(得分:-1)

如果您确实想要看到“false”,请在返回之前将值放入变量中。就这样:

if ((count($this->_brokenRulesCollection)) == 0)  {
    $value=true;
} else {
    $value=false;
}
return $value;