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;
相当于
if($pid != -1) {
$map['pid'] = $pid;
}
这是因为 && 是短路运算,如果 && 前面的表达式不成立的话,后面的表达式就不执行。
其实很不推荐这样写,一来是不清晰,容易让人混淆,二是如果&&后面内容有变化很容易出错。
&& 是逻辑与操作,并是断言的 意思就是 前一个表示式位真,才执行后一个表达式。如果为假,第二个表达式将不会执行 惭愧,惭愧。我一直只是用来做
if(A条件&&B条件){
....
}
A、B都成立是才执行。
$pid != -1 && $map['pid'] = $pid;
相当于
if($pid != -1) {
$map['pid'] = $pid;
}
这是因为 && 是短路运算,如果 && 前面的表达式不成立的话,后面的表达式就不执行。
其实很不推荐这样写,一来是不清晰,容易让人混淆,二是如果&&后面内容有变化很容易出错。 好的谢谢,我自己很少这样写。这是在看看别人的代码,不管怎么说,有收获
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号