PHP 空合并运算符(??)
示例
空合并是PHP7中引入的新运算符。如果未设置,则该运算符返回其第一个操作数NULL。否则,它将返回其第二个操作数。
下面的例子:
$name = $_POST['name'] ?? 'nobody';
等同于两者:
if (isset($_POST['name'])) {
$name = $_POST['name'];
} else {
$name = 'nobody';
}和:
$name = isset($_POST['name']) ? $_POST['name'] : 'nobody';
该运算符也可以被链接(具有右关联语义):
$name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';
这等效于:
if (isset($_GET['name'])) {
$name = $_GET['name'];
} elseif (isset($_POST['name'])) {
$name = $_POST['name'];
} else {
$name = 'nobody';
}注意:
在字符串连接上使用合并运算符时,请不要忘记使用括号()
$firstName = "John"; $lastName = "Doe"; echo $firstName ?? "Unknown" . " " . $lastName ?? "";
这将John仅输出,如果其$firstName为null,而$lastName为$lastNameDoe,则将输出UnknownDoe。为了输出JohnDoe,我们必须使用这样的括号。
$firstName = "John"; $lastName = "Doe"; echo ($firstName ?? "Unknown") . " " . ($lastName ?? "");
这将输出JohnDoe而不是John仅输出。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下