php不返回值false

php不返回值false,php,return-value,Php,Return Value,我不能在这里得到返回的假值。如果为真值,则返回罚款。我错过了什么 if ((count($this->_brokenRulesCollection)) == 0) { return true; } else { return false; } 如果数组$this->\u brokenrulescolection不为空,则代码可以返回false 如果$this->\u brokenrulescolection不是一个数组或具有实现的可计数接口的对象,那么count($th

我不能在这里得到返回的假值。如果为真值,则返回罚款。我错过了什么

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

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


如果
$this->\u brokenrulescolection
不是一个数组或具有实现的可计数接口的对象,那么
count($this->\u brokenrulescolection)
将返回1。

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


使用
var\u dump
而不是
echo
进行调试。

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

所以

可以写为:

return count($this->_brokenRulesCollection);

C.

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

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

不清楚的问题,没有足够的代码。我想如果问您count($this->\u brokenrulescolection)是否实际为非零,会有点侮辱性。我宁愿看到
返回($this->\u brokenrulescolection==0),但变量是否曾经非零?$this->\u BrokerRulesCollection是一个对象数组。我可以强制它为1或0。当我强制它为1时,我没有得到返回值。也许最好问一下,当它的计算结果为false时,我希望返回什么。如果我在函数返回真值时回显调用对象上的返回值,则得到1。否则,当我回显返回值时,我得到nada。我希望它为0表示false。那么,测试是否为空会更好?基本上,我只需要知道数组中是否有任何内容,如果有,它应该返回false.Yes。使用
empty($this->\u brokenrulescolection)
将返回
false
,如果
$this->\u brokenrulescolection
不为空
empty
不能像在
empty(trim($name))
中那样使用,这将返回一个错误。另外,在PHP中,
if((count($array))==0)
可以写成
if(!count($array))
,您报告的代码可以写成
return!计数($this->\u brokenrules集合)
。对于布尔运算符(
和&
|
),任何不是空字符串的值,没有项目的数组,等于零的整数,
,字符串
'0'
被认为等同于
(后续),例如表达式
1&“非空字符串”
返回
TRUE
。非常感谢,尼古拉斯+1用于提醒使用var_dump。这是错误的;在返回变量之前,不需要将返回值存储在变量中。
if ((count($this->_brokenRulesCollection)) == 0)  {
    $value=true;
} else {
    $value=false;
}
return $value;