Php false的计数为1,空数组的if为false。为什么?
我有一个函数,它只返回一行作为数组 我给出一个查询作为参数,它只给出一行Php false的计数为1,空数组的if为false。为什么?,php,Php,我有一个函数,它只返回一行作为数组 我给出一个查询作为参数,它只给出一行 function getFields($query) { $t =& get_instance(); $ret = $t->db->query($query); if(!$ret)return false; else if(!$ret->num_rows()) return array(); else return $ret->row_array()
function getFields($query)
{
$t =& get_instance();
$ret = $t->db->query($query);
if(!$ret)return false;
else if(!$ret->num_rows()) return array();
else return $ret->row_array();
}
$ret = getFields('query string');
我以为
我编辑了以下代码以包含以下内容,同时我得到了以下回复 我可以这样做,但我仍然想知道为什么要做上述解释
if($fes===false)jerror();
if(!$fes)jsuccess('status,4');
为什么不先检查一下
$ret===false
?“为什么计数为1”-参见:
如果var不是数组,则返回[…]1。
“如果空数组给出false。”-请参阅:
转换为布尔值时,以下值被视为FALSE:[...]
- 具有零元素的数组
$myVariable
不是数组,而是空的,则
$count = count($myVariable);
给出1
对于这种情况,我检查变量是“array”还是“bool(false)”。若输出是数组,则使用count,若不是数组,则将number设置为零
if (is_array($myVariable)) {
$count = count($myVariable);
} else {
$count = 0;
}
我正准备编辑我的帖子,将其包括在内,并找到了你的回复。这是对上述问题的一个很好的建议。美好的谢谢。啊。。。我是不是太懒了以至于不能参考文件。。。可能是这样的时候。嗯,是的。。。谢谢我正在做上面的一点分析,然后会回来。。。
if (is_array($myVariable)) {
$count = count($myVariable);
} else {
$count = 0;
}