我有一个带有运算符的字符串:
echo 'abc.' . $type ?? 'no type' . 'xyz';
Run Code Online (Sandbox Code Playgroud)
如果$ type存在,我希望它是值,如果不存在,我希望'无类型'成为值.
但是上面我得到一个$ type undefined错误.它没有在我的例子中定义,因为我想输出"无类型".
我哪里错了?
你需要在圆圈周围添加括号?运营商...
echo 'abc.' . ($type ?? 'no type') . 'xyz';
Run Code Online (Sandbox Code Playgroud)
它正在做的是评估它'abc.' . $type然后??.
这完全是关于运算符优先级的(感谢@Blackhole提示).