欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 PHP 中,??
操作符被称为“空合并运算符”(Null Coalescing Operator)。它用于简化在查找变量值时的常见模式,特别是在处理可能未设置或为 null
的变量时。
具体来说,$variable ?? $default
的意思是:
如果 $variable
存在且不为 null
,则返回 $variable
的值。
如果 $variable
未设置(即不存在)或其值为 null
,则返回 $default
的值。
在你提供的示例中:
php
$login = $data['login'] ?? null; $password = $data['password'] ?? null;
这行代码的意思是:
尝试从 $data
数组中获取 'login'
的值,如果 'login'
不存在(未定义或为 null
),则将 $login
设置为 null
。
同样地,从 $data
数组中获取 'password'
的值,如果 'password'
不存在(未定义或为 null
),则将 $password
设置为 null
。
这使得代码更加简洁和易读,同时避免了使用 isset()
来检查变量是否存在的繁琐。
空合并运算符 (两个问号 双问号) ??
是在 PHP 7.0 中引入的。因此,从 PHP 7.0 开始,您就可以使用这个运算符。如果您使用的是早于 PHP 7.0 的版本,则需要改用其他方法,例如 isset()
来检查变量是否存在。