PHP头条
热点:

PHP中可以这样写if语句吗?还是小弟我想多了


PHP中可以这样写if语句吗?还是我想多了
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;
的区别是什么呢? 分享到:
------解决方案--------------------
&& 是逻辑与操作,并是断言的   意思就是  前一个表示式位真,才执行后一个表达式。如果为假,第二个表达式将不会执行
------解决方案--------------------
$pid != -1 && $map['pid'] = $pid;

相当于
if($pid != -1) {
    $map['pid'] = $pid;
}

这是因为 && 是短路运算,如果 && 前面的表达式不成立的话,后面的表达式就不执行。

其实很不推荐这样写,一来是不清晰,容易让人混淆,二是如果&&后面内容有变化很容易出错。

www.phpzy.comtrue/phprm/6248.htmlTechArticlePHP中可以这样写if语句吗?还是小弟我想多了 PHP中可以这样写if语句吗?还是我想多了 publicfunctiongetAreaList($pid=-1){ $map=array(); $pid!=-1$map['pid']=$pid; return$this->where($map)->order('`area_id`ASC')->f...

相关文章

相关频道:

PHP之友评论

今天推荐