public function getAreaList($pid = -1) {
$map = array();
$pid != -1 && $map['pid'] = $pid;
return $this->where($map)->order('`area_id` ASC')->findAll();
}$pid != -1 && $map['pid'] = $pid;
return $this->where($map)->order('`area_id` ASC')->findAll();
这两句没条件关系吧?上面的一句为什么要用&&连接呢?与直接写
$pid != -1;
$map['pid'] = $pid;
的区别是什么呢?
$map = array();
$pid != -1 && $map['pid'] = $pid;
return $this->where($map)->order('`area_id` ASC')->findAll();
}$pid != -1 && $map['pid'] = $pid;
return $this->where($map)->order('`area_id` ASC')->findAll();
这两句没条件关系吧?上面的一句为什么要用&&连接呢?与直接写
$pid != -1;
$map['pid'] = $pid;
的区别是什么呢?
if($pid != -1) {
$map['pid'] = $pid;
}这是因为 && 是短路运算,如果 && 前面的表达式不成立的话,后面的表达式就不执行。其实很不推荐这样写,一来是不清晰,容易让人混淆,二是如果&&后面内容有变化很容易出错。
if(A条件&&B条件){
....
}
A、B都成立是才执行。