三項演算子と文字列連結が異常な動作を引き起こすのはなぜですか?

Linda Hamilton
リリース: 2024-10-24 03:40:30
オリジナル
268 人が閲覧しました

Why Does the Ternary Operator and String Concatenation Produce Anomalous Behavior?

三項演算子と文字列連結の異常な動作

難題

次のコード スニペットを考えてみましょう:

<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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!