美文网首页
PHP: count 的陷阱

PHP: count 的陷阱

作者: zhang_xinglong | 来源:发表于2017-03-13 12:01 被阅读0次

话说那年,三月正减肥,饥饿很伤悲,我脑中时常浮现哈林的歌词——最简单也最困难(来自《蛋炒饭》)。
言归正传,问题出处是下面的代码:

if(count($row = Yii::app()->db->createCommand($sql)->queryRow())){
    //[TODO]
}

当$row=FALSE时误中了count函数的陷阱,即如果count的参数不是数组类型或者实现了 Countable 接口的对象,将返回 1(有一个例外,如果 var 是 NULL 则结果是 0)。
这个例子建议同时使用is_array和count,或者使用empty函数代替count函数。

if(is_array($row) && count($row)){
    //[TODO]
}
if(!empty($row)){
    //[TODO]
}

相关文章

网友评论

      本文标题:PHP: count 的陷阱

      本文链接:https://www.haomeiwen.com/subject/hsufnttx.html