ホームページ  >  記事  >  バックエンド開発  >  PHPのnull合体演算子の詳細説明、phpnulloperator_PHPチュートリアルの詳細説明

PHPのnull合体演算子の詳細説明、phpnulloperator_PHPチュートリアルの詳細説明

WBOY
WBOYオリジナル
2016-07-12 09:02:08988ブラウズ

PHP の null 結合演算子の詳細な説明、phpnull 演算子の詳細な説明

null 結合演算子を使用すると、パラメーターを簡単に取得し、それが空の場合にそれを提供できます。 。たとえば、js では || を使用できます:

リーリー

残念ながら、PHP では、PHP の || は常に true または false を返すため、この方法では実行できません。

PHP7 はこの演算子を正式に追加しました:

リーリー

PHP7 が実稼働環境で使用されるまでには長い時間がかかると推定されています。では、現在の PHP5 に代わるものはありますか?

調査によると、非常に便利な代替手段があります:

リーリー

-- このコードを実行します: https://3v4l.org/aDUW8

目を丸くして見ると、前の PHP7 の例と似ていますが、主に ?? を ?: に置き換えます。 これはなに?実際、これは (expr1) ? (expr2) : (expr3) 式の省略パターンです:

式 (expr1) ? (expr2) : (expr3) は、expr1 が TRUE と評価されると expr2 と評価され、expr1 が FALSE と評価されると expr3 と評価されます。

PHP 5.3 以降、三項演算子の中間部分を省略できるようになりました。式 expr1 ?: expr3 は、expr1 が TRUE と評価される場合は expr1 を返し、それ以外の場合は expr3 を返します。

-- http://php.net/manual/zh/ language.operators.comparison.php

もちろん、この代替案は完璧ではありません。$_GET に「ユーザー」が存在しない場合、「通知: 未定義のインデックス: ユーザー」エラーが発生するため、@ を使用してこのエラーを抑制するか、E_NOTICE エラーをオフにする必要があります。 。

ps: PHP7 null 合体演算子 isset() に別れを告げましょう

以前の書き方

リーリー

あとはこのように書くだけです

リーリー

このように連続書き込みでも使えます

リーリー

興味がありそうな記事:

  • C# null 合体演算子?? (二重疑問符) の使用例

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1086639.html技術記事 PHP の null マージ演算子の詳細な説明、phpnull 演算子の詳細な説明 null マージ演算子を使用すると、パラメーターを簡単に取得でき、空の場合は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。