空合并运算符两次优先

时间:2019-02-04 10:17:02

标签: php

见证了怪异的行为,并希望有人能做出解释。

如果我有类似以下内容的声明:

$condA = true; 
$condB = true;
$result = $condA ? "first" : $condB ? "second" : null;

这给出了:

  

$ result =“秒”

我在这里有什么意思,或者我怎么理解这是有效的,所以对$ condA进行了评估,如果为true,则结果为“ first”。 如果且仅当$ condA为假时,才会评估$ condB。

当我将其更改为

$result = $condA ? "first" : ($condB ? "second" : null);

我知道

  

$ result =“第一”

对空合并运算符中的优先级的任何解释

0 个答案:

没有答案