ホームページ >バックエンド開発 >PHPチュートリアル >PHP の Nullsafe オペレーターはネストされたプロパティへのアクセスを簡素化できますか?
PHP での Nullsafe 演算子の紹介
nullsafe 演算子 (?->) を使用すると、開発者はオブジェクトのプロパティに安全にアクセスするコードを作成でき、明示的な null チェックを必要としないメソッド。これにより、コードが簡素化され、特に複雑なオブジェクト階層での読みやすさが向上します。
Query
nullsafe 演算子を使用して次のステートメントを書き換えることはできますか?
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
答え
からPHP 8 以降では、nullsafe 演算子を null 合体演算子 (?) と組み合わせて利用して、目的の動作を実現できます。
解決策
echo $data->getMyObject()?->getName() ?? '';
->演算子は、null 値に遭遇すると一連の演算子を切断し、実質的に null を返し、式を終了します。
さらに、チェーン内の後続の演算子がチェーンの一部とみなされない場合 (たとえば、以下の例の連結演算子)、それらは短絡されません:
$string = $data?->getObject()->getName() . " after";
この場合、$data が null の場合、コードは次のようになります:
$string = null . " after";
以上がPHP の Nullsafe オペレーターはネストされたプロパティへのアクセスを簡素化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。