ホームページ  >  記事  >  バックエンド開発  >  PHP 三項演算子の結合性の概要_PHP チュートリアル

PHP 三項演算子の結合性の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:22:07843ブラウズ

まず三項演算式を見てみましょう:

コードをコピーします コードは次のとおりです:

$a=1;$b=2;$c=3;$d =4;
echo $a<$b?'xx':$a<$c?'yy':$a<$d?'zz':'oo'

他のものによると(C や Java など) 言語のルールを使用する場合、上記のコードの動作ロジックは次のとおりです。


コードをコピーします コードは次のとおりです:
$a<$b => > 'xx' ==> 終了

すると、最終結果は 'xx' になり、その後の操作は無視されます
驚くべきことに、PHP での上記のコードの最終結果は 'zz' です。おっと、これは不正ではないでしょうか...
古いルールなので、Google にアドバイスを求めたところ、php の三項演算は左結合であると教えられました... で、
2 つ追加しました。上記のコードに括弧を付けます:


コードをコピー コードは次のとおりです:
$a=1;$b=2;$c=3;$d=4;
echo (($a<$b?' xx':$a<$c)?'yy':$a<$d)?'zz':'oo'


;一目見て、これは php の動作ロジックです:



コードをコピーします。 コードは次のとおりです: $a<$b => 'xx' => ; 'yy' => true => 'zz' => ; End
これには、'xx' => true と 'xx' => true の 2 種類の変換処理が含まれます。このプロセスが面倒であれば、確かに理解するのは難しいです...
最後に、もう一度上記のコードに戻り、C: のような正しい組み合わせに変更します



コードをコピーします

コードは次のとおりです:
$a=1; $b=2;$c=3;$d=4; echo $a<$b?'xx':($a<$c?'yy ':($a<$d?'zz':' oo')); // PHP では括弧を省略することはできません
;



http://www.bkjia.com/PHPjc/324777.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/324777.html技術記事まず、三項演算式を見てみましょう: 次のようにコードをコピーします: ?php $a=1;$b=2;$c=3;$d=4; echo $a$b?'xx':$a$ c ?'yy':$a$d?'zz':'oo' ? 通常、上記の他の言語 (C や Java など) の規則に従います。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。