次のコード スニペットを考えてみましょう:
<code class="php">$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';</code>
予想されるかもしれませんこのコードは、$paperType が 'bond' の場合は文字列 'Paper: Bond' を $description に割り当て、それ以外の場合は 'Paper: Other' を割り当てます。ただし、観察される動作は異なります。
実行時、$description は、'Paper: ' の先頭を省略して、'Bond' または 'Other' のいずれかを受け取ります。この予期しない結果は、かっこの配置が間違っていることが原因です。
コードを修正するには、文字列が正しい順序で連結されるようにかっこを追加する必要があります。
<code class="php">$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');</code>
三項式を括弧で囲むことにより、連結操作が最初に実行され、'Bond' または 'Other' の連結結果に 'Paper: ' が付加されます。
以上が三項演算子と文字列連結が異常な動作を引き起こすのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。