📅  最后修改于: 2023-12-03 15:33:27.953000             🧑  作者: Mango
在 PHP 8 中,引入了 Null 安全运算符(Nullsafe Operator),这是一个新的运算符,其作用是安全地访问可能为空的对象属性和方法。
以往,我们在访问一个对象属性或方法时,需要先判断该对象是否为 null,如下所示:
if($obj !== null){
$result = $obj->getProperty();
}
这样做的缺点是它十分繁琐,容易出错。而 Null 安全运算符就是为了简化这个过程而生。
Null 安全运算符的语法是 ?->
,它用于访问可选链的后续部分。
$result = $obj?->getProperty();
当 $obj
为 null 时,返回值为 null,不会抛出异常。
除了访问属性外,Null 安全运算符还可以用于调用方法。
$result = $obj?->method();
使用 Null 安全运算符有以下几个优点:
下面是一个使用 Null 安全运算符访问对象属性的示例:
class TestClass {
public $property;
}
$obj = null;
$result = $obj?->property;
var_dump($result); // 输出:NULL
$obj = new TestClass();
$obj->property = 'Hello World';
$result = $obj?->property;
var_dump($result); // 输出:string(11) "Hello World"
我们可以看到,使用 Null 安全运算符时,当对象为空时,返回值为 null,不会抛出异常,代码更加简洁可读。
Null 安全运算符是 PHP 8 中一个极为有用的新特性,可以简化代码,减少错误,并且提高程序运行效率。所以,在开发项目时,我们应该优先使用 Null 安全运算符而不是手动判断 null 值。