有人可以解释PHP中三元运算符速记(?:)和空合并运算符(??)之间的差异吗?
他们什么时候表现不同,以同样的方式(如果这种情况发生)?
$a ?: $b
Run Code Online (Sandbox Code Playgroud)
VS.
$a ?? $b
Run Code Online (Sandbox Code Playgroud) 我有一个带有运算符的字符串:
echo 'abc.' . $type ?? 'no type' . 'xyz';
Run Code Online (Sandbox Code Playgroud)
如果$ type存在,我希望它是值,如果不存在,我希望'无类型'成为值.
但是上面我得到一个$ type undefined错误.它没有在我的例子中定义,因为我想输出"无类型".
我哪里错了?