关于php的一个问题

关于php的一个问题

14. 假如$a = 3, $b = 4, $c = 5,下面两个表达式的结果分别是?

 1。 a || b + c && (b = c) 

 2。 !(a + b) + c -1 && b + c / 2

我想问一下这2题的结果为什么都是1,然后我看了下它们的类型都是布尔类型

http://img1.sycdn.imooc.com//climg/604ad8e109f9520701000034.jpg

但是在js中 输出的结果是http://img1.sycdn.imooc.com//climg/604ad90109bad79c03700057.jpg

这是为什么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2021-03-12 13:44:01

同学你好,js与php计算方式可能不同,但是老师不知道php是怎么计算的,很抱歉。

下面为js计算过程:

1、a || b + c && (b = c),也就是3||9&&5。开始是逻辑或,有一个是真,就会返回当前值。所以返回的结果是3

http://img1.sycdn.imooc.com//climg/604aff0d09bf348a01560067.jpg

2、 !(a + b) + c -1 && b + c / 2,也就是!7+5-1&&6.5,而第一个表达式计算结果为4

http://img1.sycdn.imooc.com//climg/604aff580975966301530063.jpg

也就是4&&6.5,逻辑与运算都是真的才会返回值,所以是最后一个值6.5

http://img1.sycdn.imooc.com//climg/604aff98097b390501260062.jpg

自己再理解下,祝学习愉快!

  • PHP都快被淘汰了

    2021-05-07 17:02:54
  • 同学你好,提问的同学自己可能会php,所以在问计算结果,老师也进行了引导,给出了js计算结果。祝学习愉快!

    2021-05-07 18:45:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师