PHP 空合并运算符
介绍
在PHP中,处理变量为空或未定义的情况是一个常见的任务。传统上,我们可能会使用三元运算符或条件语句来检查变量是否存在或是否为空。然而,PHP 7引入了一个更简洁的解决方案——空合并运算符(??)。
空合并运算符允许我们在变量为空或未定义时提供一个默认值,而无需编写冗长的条件语句。它的语法非常简单:
$result = $variable ?? $defaultValue;
如果 $variable
存在且不为 null
,则 $result
的值为 $variable
;否则,$result
的值为 $defaultValue
。
基本用法
让我们通过一个简单的例子来理解空合并运算符的基本用法:
$username = $_GET['username'] ?? 'Guest';
echo $username;
在这个例子中,如果 $_GET['username']
存在且不为 null
,则 $username
的值为 $_GET['username']
;否则,$username
的值为 'Guest'
。
输入与输出
假设 $_GET['username']
的值为 'John'
,那么输出将是:
John
如果 $_GET['username']
不存在或为 null
,那么输出将是:
Guest
逐步讲解
1. 检查变量是否存在
空合并运算符首先检查左侧的变量是否存在。如果变量不存在,它会立即返回右侧的默认值。
$name = $undefinedVariable ?? 'Default Name';
echo $name; // 输出: Default Name