4个回答
展开全部
你这个是双重三目运算,它会先执行排在前面的运算,再执行后面的运算。我加个括号看的会明白些,如下:
(10-3>2 ? 0 : true)? 5 : 3,首先执行括号里的运算,10-3大于2,条件成立,所以输出结果是0,那么第二个运算公式就变成了0 ? 5 : 3,0表示假的意思,即条件不成立,所以输出结果是3。
建议写多重三目运算时分开写,不要合在一起,比如:
$a = true ? 5 : 3;
echo 10-3 > 2 ? 0 : $a;
三目运算符
语法:
条件 ? 结果1 : 结果2
说明:
问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。
2013-12-04
展开全部
一、10 - 3 > 2 ? 0 : true ? 5 : 3
二、7>2 ? 0 : true ? 5 : 3
三、true ? 0 : true ? 5 : 3
四、0 ? 5 : 3
五、3
在PHP里,0、null、''、empty、false在普通意义上是等价的。
二、7>2 ? 0 : true ? 5 : 3
三、true ? 0 : true ? 5 : 3
四、0 ? 5 : 3
五、3
在PHP里,0、null、''、empty、false在普通意义上是等价的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分开看就行了,第一个10-3>2?0:true这部分,前面7>2是真,三元运算结果是0,然后对第二个三元运算0?5:3, 0这里等同false,所以是3.
实际上只要一步一步往下走就没有问题。
三元运算,以?为分界分两部分,前面的逻辑判读,后面是两个备选结果。根据前面逻辑运算的结果,如果是true的话,结果就是第一个备选,如果是false,结果就是第二个备选
实际上只要一步一步往下走就没有问题。
三元运算,以?为分界分两部分,前面的逻辑判读,后面是两个备选结果。根据前面逻辑运算的结果,如果是true的话,结果就是第一个备选,如果是false,结果就是第二个备选
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-05-13
展开全部
3是错的 结果是0 三目运算符运算顺序从右到左
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询