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 了吗?
展开
5个回答
展开全部
逻辑运算符是从左到右进行运算的。
对于逻辑或来说,只要左侧有一个子表达式为真,就不会再继续计算右侧剩余的表达式了(因为此时整个逻辑或表达式已经为真了)。
$a=3 赋值语句肯定为真,所以右边的$b=6压根就不会被执行。
逻辑与跟它类似,只要左边有一个子表达式为假,整个逻辑与表达式即为假,右边的表达式也不会再被运算。
这种现象常被称为逻辑短路,下面复制粘贴网上down下来的概念:
逻辑短路是对于逻辑运算而言,是指,仅计算逻辑表达式中的一部分便能确定结果,而不对整个表达式进行计算的现象。
对于“&&”运算符,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是false;
对于“||”运算符,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是true。
对于逻辑或来说,只要左侧有一个子表达式为真,就不会再继续计算右侧剩余的表达式了(因为此时整个逻辑或表达式已经为真了)。
$a=3 赋值语句肯定为真,所以右边的$b=6压根就不会被执行。
逻辑与跟它类似,只要左边有一个子表达式为假,整个逻辑与表达式即为假,右边的表达式也不会再被运算。
这种现象常被称为逻辑短路,下面复制粘贴网上down下来的概念:
逻辑短路是对于逻辑运算而言,是指,仅计算逻辑表达式中的一部分便能确定结果,而不对整个表达式进行计算的现象。
对于“&&”运算符,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是false;
对于“||”运算符,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是true。
摩杜云
2024-07-09 广告
2024-07-09 广告
判断一个发送邮件api公司的好坏,不只是看价格,还要考虑很多因素。建议可以多对比几个看看。您可以到摩杜云了解下。摩杜云成立于2019年,依托于公司多年技术沉淀和强大的云计算研发实力,面向全世界各个国家和地区、企业组织和个人开发者,提供全球的...
点击进入详情页
本回答由摩杜云提供
展开全部
首先你的判断里,用的是赋值=,关系运算或||,因为a=3,判断为真,所以后面的判断就没有必要执行了,所以结果b=9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
|| 运算符短路问题,
表达式A || 表达式B
当表达式A或者表达式B有一个为true时,整体运算结果为true,
但是如果||前面的表达式已经为true了,那么整体的逻辑运算结果就已经知道了,就是true,那么这个时候表达式B就不会执行了,被短路掉了
表达式A || 表达式B
当表达式A或者表达式B有一个为true时,整体运算结果为true,
但是如果||前面的表达式已经为true了,那么整体的逻辑运算结果就已经知道了,就是true,那么这个时候表达式B就不会执行了,被短路掉了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文科高等数学吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个主要是考察“||“也就是逻辑判断当中的“或“用法:
if($a=3 || $b=6)
$a=3 时为把3赋值给$a,$a=3返回为真,按照程序自左至右的执行方式,当左位为真时,“或“判断直接返回真,不再进行后续的判断。
所以$b = 8,后续执行 $b+=1 = 9
if($a=3 || $b=6)
$a=3 时为把3赋值给$a,$a=3返回为真,按照程序自左至右的执行方式,当左位为真时,“或“判断直接返回真,不再进行后续的判断。
所以$b = 8,后续执行 $b+=1 = 9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询