よりクリーンな、より簡潔なコードのためのPHPの3成分演算子をマスターします
PHPの3成分演算子は簡潔なIF-ELSEの代替品であり、単純な条件付き割り当てに適しており、コードの読みやすさを向上させることができます。 1.三元演算子を使用する場合、明確なロジックを確認し、単純な判断のみを使用する必要があります。 2。読みやすさを減らし、代わりにif-elseif-else構造を使用するため、営巣性の成績演算子を避けてください。 3.最初にnullマージオペレーター(??)を使用してnullまたは未定義の値を処理し、Elvisオペレーター(?:)を使用して真実の価値を判断します。 4.表現を短くし、副作用を避け、常に読みやすさを主要な目標として取得します。成分演算子を正しく使用すると、コードをより簡潔にすることができますが、ラインの数を減らすために明確に犠牲にしないでください。究極の原則は、シンプルでテスト可能であり、ネストされていないことです。
PHPの三元オペレーターは、賢明に使用された場合、クリーナーでより簡潔なコードを書き込むための強力なツールです。ラインを保存するだけではありません。それは、コンパクトで表現力のある論理に冗長なif-else
ブロックを置き換えることにより、読みやすさを改善することです。しかし、他のショートカットと同様に、使いすぎまたは誤って適用された場合、読みやすさを傷つける可能性があります。 PHPで三元演算子を習得する方法を分解しましょう。

三元演算子とは何ですか?
三元演算子はif-else
ステートメントの速記です。その構文は次のとおりです。
$ variable =(条件)? value_if_true:value_if_false;
例えば:

$ age = 20; $ status =($ age> = 18)? 「大人」:「マイナー」;
これは次のとおりです。
if($ age> = 18){ $ status = 'adult'; } それ以外 { $ status = 'minor'; }
三元バージョンはより短く、ロジックが単純な場合に明確になることがよくあります。

3成分演算子を使用する時期
次の場合は、三元演算子を使用します
- 条件に基づいて値を割り当てています。
- ロジックは簡単で読みやすいです。
- 関数または式から値を返しています。
次のような状況で輝いています
- デフォルト値の設定。
- 出力のフォーマット。
- 機能から早期に戻ります。
例:デフォルトの設定
$ name = isset($ _ get ['name'])? $ _get ['name']: 'guest';
または、Null Coulescingオペレーター(PHP 7)でさらにクリーンで、後で触れます。
ネスティングのテルナリを避けてください
最も一般的な間違いの1つは、元気演算子を営むことです。
$ result =($ a)? 'a':($ b? 'b' :( $ c? 'c': 'd'));
これは機能しますが、解析するのは難しいです。代わりに、マルチコンディションロジックには、適切なif-elseif-else
ブロックを使用してください。
if($ a){ $ result = 'a'; } elseif($ b){ $ result = 'b'; } elseif($ c){ $ result = 'c'; } それ以外 { $ result = 'd'; }
あなたの将来の自己(およびチームメイト)はあなたに感謝します。
三元対ヌルの合体(??)
PHP 7は、変数が存在し、nullでないかどうかをチェックするのに最適なNull Coulescingオペレーター( ??
)を導入しました。
$ name = $ _get ['name'] ?? 'ゲスト';
これはより安全でクリーンです:
$ name = isset($ _ get ['name'])? $ _get ['name']: 'guest';
使用??
存在をチェックするとき、および?:
三元)真実を評価するとき。
注:
?:
ElvisオペレーターはPHPのオペレーターであり、それが真実である場合、最初の演算子を返します。$ value = $ input?: 'default'; // $入力が真実の場合は、それを使用してください。その他の「デフォルト」
クリーンコードの実用的なヒント
ここにいくつかのベストプラクティスがあります:
- 短くしてください。式が長い場合は、複数の行に分割するか、
if-else
を使用します。 - 特に複雑なロジックを使用して、明確にするために、条件の周りで親を使用します。
- 副作用を避けてください。三元式内の副作用(ロギングやDB書き込みなど)を持つ関数を呼び出しないでください。
- 利用可能性を優先します。三元を使用できるからといって、すべきではありません。
良い:
$ message = $ user-> isactive()? 'おかえり!' :「アカウントをアクティブにしてください。」;
悪い:
echo $ user-> isadmin()? GenerateAdMindashBoard():( $ user-> isguest()?showguestprompt():loaduserhome());
それを適切な制御構造に分割します。
最終的な考え
三元演算子は、表現力豊かで簡潔なPHPコードを書くための優れたツールですが、条件にすべてのサイズにぴったりの代替品ではありません。ラインカウントを減らすだけでなく、明確さを改善するときに使用します。
それを組み合わせて??
and ?:
デフォルトやヌルチェックなどの一般的なパターンの場合、賢さよりも読みやすさを常に支持します。
基本的に:シンプルに保ち、テストし、ネストしないでください。
以上がよりクリーンな、より簡潔なコードのためのPHPの3成分演算子をマスターしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

交換/elseassignmentswitternariesorlogicaloperators like ||、??、and && forconcise、clearintent.2.useobjectmappinginsteadeadofif/elsefchainlylian resolvemultiplevaluechecks.3

operatorprecedencedencederminesevaluation ordershordcontionals、where && and || bindmoretightlythan?:、soexpressionslik ea || b?c:darenterpretedas(a || b)?c:d、nota ||(b?c:d);

returnEarlyToreducenestingbyexiting functionsososoonasinasinasoredgecasesedectededected、ruts flationandmorereadablecode.2.useguardclauseSeatsthe beginning offunctionStoconditionSandKeeptheepthainlogicuncluttered.3

Elvisオペレーター(?:)は、左の真の値または右のデフォルト値を返すために使用されます。 1。左値がtrue(非ヌル、false、0、 ''など)の場合に左値を返します。 2。それ以外の場合は、右のデフォルト値を返します。可変割り当てのデフォルト値、三元式の簡素化、およびオプションの構成の処理に適しています。 3.ただし、有効な値として0、false、および空の文字列を使用しないでください。この時点で、空のマージ演算子(??); 4。 NULLのみを確認してください。 5.一般的には、$ name?: 'guest'などのLaravel応答出力とブレードテンプレートで。その動作を正しく理解することは、現代のPHP開発で安全で効率的に使用できます。

PHPの3成分演算子は簡潔なIF-ELSEの代替品であり、単純な条件付き割り当てに適しており、コードの読みやすさを向上させることができます。 1.三元演算子を使用する場合、明確なロジックを確認し、単純な判断のみを使用する必要があります。 2。読みやすさを減らし、代わりにif-elseif-else構造を使用するため、営巣性の成績演算子を避けてください。 3. Null Merge Operators(??)を使用して、最初にnullまたは未定義の値に対処し、Elvisオペレーター(?:)を使用して真実を判断します。 4.表現を短くし、副作用を避け、常に読みやすさを主要な目標として取得します。成分演算子を正しく使用すると、コードをより簡潔にすることができますが、ラインの数を減らすために明確に犠牲にしないでください。究極の原則は、シンプルでテスト可能であり、ネストされていないことです。

NestedternaryoperatorsinphpshededeatheTheeducereadabilityは、態度を発した場合、nestededededtilltillentizedbutstillhard-to-readform;

??オペレーターは、PHP7によって導入された空のマージオペレーターであり、ヌル値チェックを簡潔に処理するために使用されます。 1.最初に、変数キーまたは配列キーが存在し、nullではないかどうかを確認します。その場合、値を返します。そうしないと、$ array ['key'] ?? 'デフォルト'などのデフォルト値を返します。 2。ISSET()と三元演算子を組み合わせる方法と比較して、それはより簡潔であり、$ _Session'User '[' Themain '] ?? $ _ cookie [' themain '] ??' Light 'などのチェーンコールをサポートします。 3.フォーム入力、構成の読み取り、およびオブジェクト属性アクセスを安全に処理するためによく使用されますが、NULL判事のみであり、「空」、またはfalseを「空」と認識しません。 4。それを使用するとき

三元演算子を使用する場合、単にコードを短縮するのではなく、コードの明確さを優先する必要があります。 2。理解の難しさを高め、代わりにif-elseif-else構造を使用するため、営巣する三元演算子は避けてください。 3. Null Merge Operator(??)を組み合わせてヌルの状況を処理して、コードセキュリティと読みやすさを改善できます。 4.単純な条件値を返す場合、三元演算子はより効果的ですが、ブール式を直接返す場合、冗長に使用する必要はありません。最終的な原則は、三元演算子が認知的負担を軽減し、コードをより明確にするときにのみ使用する必要があることです。そうしないと、if-else構造を選択する必要があります。
