我不能在这里得到假值。真值返回正常。我错过了什么?
if ((count($this->_brokenRulesCollection)) == 0) {
return true;
} else {
return false;
}
答案 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;