不,那里没有。 (三元运算需要,根据定义 http://en.wikipedia.org/wiki/Ternary_operation,三个操作数)
从 PHP 5.3 开始,可以省略中间部分
三元运算符。表达式 expr1 ?: expr3 返回 expr1 如果 expr1
计算结果为 TRUE,否则为 expr3。
Source: PHP 手册 http://php.net/manual/en/control-structures.if.php
就像 Java 中的一样,但在 Java 中您需要指定两种结果:
三元
if-else 运算符与三个操作数一起使用,产生一个值,具体取决于
关于布尔断言的真假。它的形式是
如下:-
boolean-exp ? value1 : value2
资料来源:
关于三元条件运算符的 Java 规范 http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.25
Java 官方文档 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
Java.net 博客 https://weblogs.java.net/blog/hellofadude/archive/2013/11/11/basics-java-
另请记住,与 Java 和其他具有类似运算符的流行语言不同,?:
在 PHP 中是左关联的。所以这:
<?php
$arg = "T";
$vehicle = ( ( $arg == 'B' ) ? 'bus' :
( $arg == 'A' ) ? 'airplane' :
( $arg == 'T' ) ? 'train' :
( $arg == 'C' ) ? 'car' :
( $arg == 'H' ) ? 'horse' :
'feet' );
echo $vehicle;
prints horse
代替train
(这正是您在 Java 中所期望的)
资料来源:
http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/#operators http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/#operators