见证了怪异的行为,并希望有人能做出解释。
如果我有类似以下内容的声明:
$condA = true;
$condB = true;
$result = $condA ? "first" : $condB ? "second" : null;
这给出了:
$ result =“秒”
我在这里有什么意思,或者我怎么理解这是有效的,所以对$ condA进行了评估,如果为true,则结果为“ first”。 如果且仅当$ condA为假时,才会评估$ condB。
当我将其更改为
$result = $condA ? "first" : ($condB ? "second" : null);
我知道
$ result =“第一”
对空合并运算符中的优先级的任何解释