首頁 >後端開發 >php教程 >PHP 8 的 Null 安全性和 Null 合併運算子如何簡化物件屬性存取?

PHP 8 的 Null 安全性和 Null 合併運算子如何簡化物件屬性存取?

Susan Sarandon
Susan Sarandon原創
2024-12-13 06:21:09743瀏覽

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