Maison > développement back-end > tutoriel php > PHP中可以这样写if语句吗?还是我想多了

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

WBOY
Libérer: 2016-06-23 14:12:15
original
833 Les gens l'ont consulté

public function getAreaList($pid = -1) {		$map = array();		$pid != -1 && $map['pid'] = $pid;		return $this->where($map)->order('`area_id` ASC')->findAll();	}
Copier après la connexion


$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;
}

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

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

&& 是逻辑与操作,并是断言的   意思就是  前一个表示式位真,才执行后一个表达式。如果为假,第二个表达式将不会执行 惭愧,惭愧。我一直只是用来做
if(A条件&&B条件){
 ....
}
A、B都成立是才执行。

$pid != -1 && $map['pid'] = $pid;

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

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

其实很不推荐这样写,一来是不清晰,容易让人混淆,二是如果&&后面内容有变化很容易出错。 好的谢谢,我自己很少这样写。这是在看看别人的代码,不管怎么说,有收获

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal