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;

}

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

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

&& 是逻辑与操作,并是断言的 意思就是 前一个表示式位真,才执行后一个表达式。如果为假,第二个表达式将不会执行 惭愧,惭愧。我一直只是用来做

if(A条件&&B条件){

....

}

A、B都成立是才执行。

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

相当于

if($pid != -1) {

$map['pid'] = $pid;

}

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

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值