ホームページ  >  記事  >  バックエンド開発  >  PHP7 の新しい null 合体演算子: コードの論理判断を簡略化するには?

PHP7 の新しい null 合体演算子: コードの論理判断を簡略化するには?

PHPz
PHPzオリジナル
2023-10-24 13:00:38674ブラウズ

PHP7 の新しい null 合体演算子: コードの論理判断を簡略化するには?

非常に実用的な演算子が PHP7 に追加されました: null 合体演算子です。この演算子を使用すると、コード内の論理判断を簡素化し、コードをより簡潔で読みやすくすることができます。

従来の論理判断は通常、三項演算子または if-else ステートメントを使用して実装されます。たとえば、変数の値を取得する場合、変数が存在する場合はその変数の値が使用され、それ以外の場合はデフォルト値が使用されます。 PHP7 より前は、次のようなコードを作成することがありました。

$value = isset($variable) ? $variable : $default;

このようなコードは扱いにくく、十分に直感的ではありません。 null 結合演算子を使用すると、コードをより簡潔かつ明確にすることができます:

$value = $variable ?? $default;

null 結合演算子を使用します。$variable が存在し、null でない場合は、$variable の値が使用され、それ以外の場合は、$ の値が使用されます。デフォルトが使用されます。この 1 行のコードで十分なので、コードの複雑さが大幅に軽減されます。

null 合体演算子は、論理的な判断を簡素化するだけでなく、配列内の値を取得するためにも使用できます。たとえば、配列内のキーに対応する値を取得したい場合、キーが存在する場合はその値を使用し、そうでない場合はデフォルト値を使用します。 PHP7 より前では、次のようなコードを書くことができました。

$value = isset($array['key']) ? $array['key'] : $default;

また、null 合体演算子を使用すると、次のように書くことができます。

$value = $array['key'] ?? $default;

同様に、このようなコードはより簡潔で明確です。

null マージ演算子を複数のネストで使用して、複雑な論理判断と値の要件を満たすことができます。たとえば、オブジェクトの属性値を取得したいのですが、その属性が存在しない可能性や、オブジェクト自体が存在しない可能性があります。 PHP7 より前では、次のようなコードを記述する必要がある場合があります:

$value = (isset($object) && isset($object->attribute)) ? $object->attribute : $default;

現在は、これを次のように単純化できます:

$value = $object->attribute ?? $default;

もちろん、ネストされたロジックがより複雑な場合は、依然として次のことを行う必要があります。従来の if-else ステートメントを使用して処理します。

null 合体演算子は、変数が存在するか空であるかではなく、変数が null かどうかだけを判断することに注意してください。変数が存在するか空であるかを判断したいだけの場合でも、 isset() 関数または empty() 関数を使用する必要があります。

要約すると、PHP7 の新しい null 合体演算子により、コード内の論理判断が大幅に簡素化され、コードがより簡潔で読みやすくなります。ただし、使用する場合は、不要なエラーを避けるために、使用シナリオとオペレーターの制限に注意する必要があります。

以上がPHP7 の新しい null 合体演算子: コードの論理判断を簡略化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。