相关疑难解决方法(0)

PHP三元运算符vs null合并运算符

有人可以解释PHP中三元运算符速记(?:)和空合并运算符(??)之间的差异吗?

他们什么时候表现不同,以同样的方式(如果这种情况发生)?

$a ?: $b
Run Code Online (Sandbox Code Playgroud)

VS.

$a ?? $b
Run Code Online (Sandbox Code Playgroud)

php ternary-operator null-coalescing-operator php-7

285
推荐指数
9
解决办法
10万
查看次数

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

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

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

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

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

我哪里错了?

php php-7

2
推荐指数
1
解决办法
113
查看次数