PHP7のnull合体演算子を使ってコードの論理判断を簡素化するにはどうすればよいでしょうか?

王林
リリース: 2023-10-21 11:57:27
オリジナル
1466 人が閲覧しました

PHP7のnull合体演算子を使ってコードの論理判断を簡素化するにはどうすればよいでしょうか?

PHP7 の null 合体演算子を使用してコードの論理判断を簡素化するにはどうすればよいですか?

PHP7 では、NULL 合体演算子 (??) という新しい演算子が導入されました。これにより、コード内の面倒な論理判断が軽減されます。 null合体演算子を使用すると、変数がnullかどうかの判定が簡素化され、コードのロジックが簡素化され、コードの可読性や保守性が向上します。

以前のバージョンでは、多くの場合、三項演算子を使用して変数が null かどうかを判断し、その判断結果に基づいてさまざまな演算を実行する必要がありました。たとえば、データベースからユーザー名を取得する必要がある場合、通常は次のようなコードを記述します。

$name = isset($user['name']) ? $user['name'] : 'Unknown';
ログイン後にコピー

この書き方は冗長であるだけでなく、コードが読みにくくなり、難しくなります。メンテナンスする場合は複数回判断致します。 PHP7 では、null 合体演算子を使用してこの判断プロセスを簡素化できます。コードは次のとおりです:

$name = $user['name'] ?? 'Unknown';
ログイン後にコピー

この例では、$user['name'] が存在し、null でない場合、$name $user['name'] の値が割り当てられます。$user['name'] が null の場合、$name には値「Unknown」が割り当てられます。ご覧のとおり、null 合体演算子を使用すると、同じ機能をより簡潔に実現できます。

null 合体演算子は、変数が null かどうかの判定を簡素化するだけでなく、複数の変数の判定にも対応できます。ユーザーの入力フォームからユーザー名を取得する必要があるとします。ただし、ユーザーがユーザー名を入力しない場合は、デフォルトのユーザー名が使用されます。前の記述方法では、ユーザー入力とデフォルトのユーザー名が存在するかどうかを個別に判断し、さまざまな状況に応じてさまざまな操作を実行する必要がありました。

$username = isset($_POST['username']) ? $_POST['username'] : 'DefaultUser';
ログイン後にコピー

PHP7 では、null マージ演算子を使用して簡素化できます。この判定プロセスのコードは次のとおりです。

$username = $_POST['username'] ?? 'DefaultUser';
ログイン後にコピー

同様に、$_POST['username'] が存在し、null でない場合、$username には $_POST['username'] の値が割り当てられます。 $ _POST['username'] が null の場合、$username には値 'DefaultUser' が割り当てられます。 null 合体演算子を使用すると、コードをより簡潔かつ明確にすることができます。

また、null 合体演算子は、左側のオペランドが null の場合にのみ右側の値を返すことにも注意してください。左側のオペランドが存在するが、その値が空の文字列または 0 である場合、NULL 合体演算子は右側の値ではなく左側の値を返します。したがって、null合体演算子を使用する場合は、左オペランドの判定に注意する必要があります。

まとめると、PHP7 の null 合体演算子は、コード内の面倒な論理判断を簡略化できる非常に便利なツールです。 null 合体演算子を使用すると、変数が null かどうかをより正確に判断でき、複数の変数の判断も処理できます。実際の開発では、null 合体演算子を合理的に使用すると、コードの可読性と保守性が向上し、コードがより簡潔かつ明確になります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート