php 三元运算符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 三元运算符相关的知识,希望对你有一定的参考价值。
最近在项目中用了一个嵌套的三元运算,想当然的以为没问题,没测试便上线了(这个毛病不好),结果却被同事羞辱了一番。
条件?真 :假,先测试条件,如果为真则执行?后的语句,如果为假,则执行:后的语句。
true?1:-1 ,表达式的结果为1,false?1:-1表达式的结果为-1。
这没什么难理解的,而我错在嵌套时不知道它的结合性,是左结合而不是想当然的右结合。
1 == $a ? 1 : 2==$a ? 2 : 3
我想表达的意思是 如果$a为1则返回1,为2 返回2 ,其它返回3.上面表达式的结果永远不会是1;
上面表达是与(1 == $a ? 1 : 2==$a) ? 2 : 3 等价。
而我实际需要的是1 == $a ? 1 : (2==$a ? 2 : 3)
顺便说一句 加括号是个好习惯。
以上是关于php 三元运算符的主要内容,如果未能解决你的问题,请参考以下文章