如何使用null coalesce运算符将语句附加到字符串?

pan*_*hro 2 php php-7

我有一个带有运算符的字符串:

echo 'abc.' . $type ?? 'no type' . 'xyz';
Run Code Online (Sandbox Code Playgroud)

如果$ type存在,我希望它是值,如果不存在,我希望'无类型'成为值.

但是上面我得到一个$ type undefined错误.它没有在我的例子中定义,因为我想输出"无类型".

我哪里错了?

Nig*_*Ren 8

你需要在圆圈周围添加括号?运营商...

echo 'abc.' . ($type ?? 'no type') . 'xyz';
Run Code Online (Sandbox Code Playgroud)

它正在做的是评估它'abc.' . $type然后??.

这完全是关于运算符优先级的(感谢@Blackhole提示).