PhP和java评估嵌套? :不同

时间:2014-07-01 03:43:15

标签: java php

php中的

$var =  true ? '1' : false ? '2' : false ? '3' : '4';
echo $var;

输出为3

Java中的

char cond =  true ? '1' : false ? '2' : false ? '3' : '4';
System.out.println( cond );

输出为1

我完全理解Java如何执行逻辑。但我无法得到php将如何输出3.需要帮助来理解php实际上如何评估它。

1 个答案:

答案 0 :(得分:0)

括号的优先顺序

$var =  ((true ? '1' : false) ? '2' : false) ? '3' : '4';
echo $var;

文档:http://php.net/language.operators.comparison#example-138

一些解释:https://bugs.php.net/bug.php?id=61915