この記事では主に PHP の三項演算子について紹介します。興味のある方はぜひ参考にしてください。
推奨マニュアル:php完全自習マニュアル
三項演算子の構文: 条件1: 結果2 注:疑問符の前の位置は判定条件です。条件が満たされていれば結果は 1、満たされていない場合は結果は 2 となります。
以下で詳しく説明しましょう。
今日、オンラインで自分の論文を見直しているときに、理解できない文に遭遇しました:
$if_summary = $row['IF_SUMMARY']==2?'是':'否';
この文の意味は、
if($row['IF_SUMMARY']==2){ $if_summary="是"; }else{ $if_summary="否"; }
に相当します。三項演算子の機能は同じです。 「if...else」処理ステートメントは一貫性があり、1 行で記述され、コードは非常に簡潔で、実行効率が高くなります。
おすすめ関連記事:
1.PHP 三項演算子: 速いかどうか?
2.PHP における三項演算子と Null 合体演算子の簡単な比較
3.php の一般的な演算子とは何ですか
関連ビデオの推奨事項:
1.Dugu Jiijian (4)_PHP ビデオ チュートリアル
PHP プログラムでの 3 つの適切な使用法メタ演算子スクリプトをより簡潔かつ効率的にすることができます。
コード形式は次のとおりです:
(expr1) ? (expr2) : (expr3);
説明:
条件 "expr1" が true の場合はステートメント "expr2" を実行し、それ以外の場合はステートメント "expr3" を実行します。
同じ機能を実現するために、条件付き処理ステートメントを使用する場合は、複数行のコードを記述する必要があります。
if(expr1) { expr2; } else { expr3; }
上記の三項演算子の良さが活かされていないことがわかります。誇張です。
ただし、ほとんどの場合、三項演算子はコードが比較的単純な場合、つまり実行ステートメントが 1 つの文だけの場合にのみ使用されます。例:
$a>$b ? print "a大于b" : print "a小于b";
実際、三項演算子は拡張して使用でき、設定された条件が true であるかどうかにかかわらず、実行ステートメントは複数の文にすることができます。
(expr1) ? ( expr2).(expr3) : (expr4).(expr5);
文字列演算記号 (".") を使用して複数の実行ステートメントを接続できることが明確にわかります。実行ステートメント 独立した完全な実行ステートメントであることを示すために、小さな山かっこで囲みます。
この拡張後、その関数は「if...else」プロセス ステートメントに近くなります。
同時に、三項演算子を入れ子にして使用することもできます。
たとえば、a が b より大きい場合:
a が c より小さい場合は、x=c-a、そうでない場合は x=a-c、それ以外の場合は、a が c より小さい場合。 b より: b が c より小さい場合、x=c-b、それ以外の場合、x=b-c:
$a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);
ネストに使用される三項演算子の可読性はあまり良くなく、そのメンテナンスに問題が発生する可能性があります。将来のコードですが、「if.. .else」や他の処理ステートメントと比較すると、上記の状況では確かに簡潔すぎるのが魅力です。
怠け者でコードの簡素化を追求したい人にとって、三項演算子を使用して if process ステートメントを置き換えるのは優れた選択です。 「三項」の条件文以外の「要素」を考慮する必要がない場合でも、if 文よりも三項演算子を使用した方が簡潔です。
次のステートメントの構文は正しく、小さな引用符で囲まれた 2 番目または 3 番目の「要素」が省略されています:
$a>$b ? print "Yes" : ""; $a>$b ? '': print 'No';
次の点に注意してください:
三項演算子を使用する場合は、echo ステートメントの代わりに print ステートメントを使用することをお勧めします。
次の一連のステートメントの理解に注意してください:
$str = $_GET['abc'] ? 'wangjinbo' : 'wjb';
これは次のように理解できません: $str が $_GET['abc'] に等しい場合、割り当ては 'wangjinbo' ' それ以外の場合、代入は 'wjb' です。
理由 1: == を使用して等しいかどうかを判断する必要があります。
理由 2: 三項演算子の構文は次のとおりです: (expr1) ? (expr2) : (expr3)、明らかに、上記の 2 値および 3 値の 'wangjinbo' または 'wjb' だけでは意味のある式を形成できません。
正しい理解は次のとおりです。 ##$_GET[' abc'] は null 値です (つまり、PHP の (false)、' '、null、0、および undifine がすべてブール値 false に相当するかどうか)。このとき、$str は次のとおりです。値「wjb」が割り当てられます。それ以外の場合、値は「wangjinbo」になります。
注
:
要約
: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連する推奨事項:
投稿リクエストをシミュレートするための php の 3 つの一般的な使用法
以上がPHPの三項演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。