三項演算子の問い合わせ: 連結の難題
このプログラミングの難題において、好奇心旺盛なプログラマーは、三項演算子と文字列連結を利用すると予期せぬ結果に遭遇します。 。元のコードは次のようになります:
$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';
$paperType が "bond" に等しい場合は $description 変数に文字列 "Paper: Bond"、それ以外の場合は "Paper: Other" を保持することが目的でした。しかし、得られた結果は単に「結合」か「その他」でした。
この問題を解決する鍵は、三項式の演算順序にあります。三項演算子は条件付き代入の便利なショートカットですが、文字列の連結とは異なる優先順位で動作します。その結果、実際には三項式の評価前に連結操作が行われます。
これを修正するには、三項式の評価後に連結が実行されるようにコードを変更する必要があります。修正されたコード:
$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');
三項式を括弧で囲むことにより、コードは三項式の結果に対して文字列連結が確実に実行され、「Paper: Bond」または「Paper: Bond」のいずれかの予期される出力が生成されます。 $paperType の値に基づく「用紙: その他」
以上が三項演算子のパズル: 文字列の連結が期待どおりに機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。