首页 >后端开发 >php教程 >PHP 8 的 Null 安全和 Null 合并运算符如何简化对象属性访问?

PHP 8 的 Null 安全和 Null 合并运算符如何简化对象属性访问?

Susan Sarandon
Susan Sarandon原创
2024-12-13 06:21:09744浏览

How Can PHP 8's Null Safe and Null Coalescing Operators Simplify Object Property Access?

在 PHP 8 中利用 Null 安全运算符和 Null 合并运算符

在 PHP 编码中,您可能会遇到希望访问属性或仅当对象不为 null 时才使用该对象的方法。传统上,这需要详细的条件语句。

PHP 8 中的安全导航

PHP 8 引入了 null 安全运算符 (?->),它允许您安全地导航对象不会因空值而导致致命错误。与空合并运算符 (??) 结合使用,您可以优雅地链接运算符调用。

示例

考虑以下代码:

echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';

使用空安全运算符,您可以将其简化为:

echo $data->getMyObject()?->getName() ?? '';

在此如果 $data 为 null,则链终止,结果将为 null。

链中的运算符

检查对象属性或方法是空安全链接的一部分:

  • 数组访问([])
  • 属性访问 (->)
  • Nullsafe 属性访问 (?->)
  • 静态属性访问 (::)
  • 方法调用 (->)
  • Nullsafe 方法调用(?->)
  • 静态方法调用 (::)

示例:

$string = $data?->getObject()->getName() . " after";

如果 $data 为 null ,$string 变为空。 “after”,因为串联不是链的一部分。

以上是PHP 8 的 Null 安全和 Null 合并运算符如何简化对象属性访问?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn