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