php中|| 不是真假为真么?

$b怎么会是9呢,不应该是7么?执行到第4行时6不是重新赋值给$b了吗。后面的代码不应该是$a=true+1$b=6+1了吗?... $b怎么会是9呢,不应该是7么?执行到第4行时 6 不是重新赋值给 $b了吗。后面的代码不应该是$a=true+1 $b=6+1 了吗? 展开
 我来答
百度网友dadee7f
2018-05-27 · TA获得超过1870个赞
知道小有建树答主
回答量:867
采纳率:67%
帮助的人:400万
展开全部
逻辑运算符是从左到右进行运算的。
对于逻辑或来说,只要左侧有一个子表达式为真,就不会再继续计算右侧剩余的表达式了(因为此时整个逻辑或表达式已经为真了)。
$a=3 赋值语句肯定为真,所以右边的$b=6压根就不会被执行。

逻辑与跟它类似,只要左边有一个子表达式为假,整个逻辑与表达式即为假,右边的表达式也不会再被运算。

这种现象常被称为逻辑短路,下面复制粘贴网上down下来的概念:
逻辑短路是对于逻辑运算而言,是指,仅计算逻辑表达式中的一部分便能确定结果,而不对整个表达式进行计算的现象。
对于“&&”运算符,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是false;
对于“||”运算符,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是true。
摩杜云
2024-07-09 广告
判断一个发送邮件api公司的好坏,不只是看价格,还要考虑很多因素。建议可以多对比几个看看。您可以到摩杜云了解下。摩杜云成立于2019年,依托于公司多年技术沉淀和强大的云计算研发实力,面向全世界各个国家和地区、企业组织和个人开发者,提供全球的... 点击进入详情页
本回答由摩杜云提供
小情绪谩Cy3S
2018-08-27 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:273
采纳率:65%
帮助的人:21.9万
展开全部
首先你的判断里,用的是赋值=,关系运算或||,因为a=3,判断为真,所以后面的判断就没有必要执行了,所以结果b=9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lionheart1988
2018-08-28 · TA获得超过6447个赞
知道大有可为答主
回答量:5772
采纳率:72%
帮助的人:2496万
展开全部
|| 运算符短路问题,
表达式A || 表达式B
当表达式A或者表达式B有一个为true时,整体运算结果为true,
但是如果||前面的表达式已经为true了,那么整体的逻辑运算结果就已经知道了,就是true,那么这个时候表达式B就不会执行了,被短路掉了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李智勇lizhi
2018-05-26 · 超过30用户采纳过TA的回答
知道答主
回答量:144
采纳率:40%
帮助的人:32万
展开全部
文科高等数学吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那段逝去的过往
2018-08-27 · TA获得超过471个赞
知道小有建树答主
回答量:458
采纳率:83%
帮助的人:316万
展开全部
这个主要是考察“||“也就是逻辑判断当中的“或“用法:
if($a=3 || $b=6)
$a=3 时为把3赋值给$a,$a=3返回为真,按照程序自左至右的执行方式,当左位为真时,“或“判断直接返回真,不再进行后续的判断。
所以$b = 8,后续执行 $b+=1 = 9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式