ホームページ >バックエンド開発 >PHPチュートリアル >整数の加算と連結時に PHP が「2」をエコーするのはなぜですか?
PHP の興味深い動作: 合計と連結の難題を解明する
PHP プログラミングの分野では、追加時の複雑な動作に関する最近の議論が行われています。
次のコード スニペットで示されているように、この異常を詳しく調べてみましょう:
<code class="php">$a = 1; $b = 2; echo "sum: " . $a + $b; echo "sum: " . ($a + $b);</code>
このコードを実行すると、両方のエコーが " を出力することが予想されます。合計: 3"。しかし、驚いたことに、最初のエコーには「2」が表示され、開発者は困惑しました。なぜこのようなことが起こるのでしょうか?
鍵は、PHP の演算子の優先順位と結合性にあります。加算演算子 ( ) と連結演算子 (.) は両方とも同じ優先レベルを共有し、左結合になります。これらの演算子が評価される順序が重要になります。
ただし、2 番目のエコーでは、かっこによって加算が連結の前に行われることが保証され、次のようになります。目的の結果、「sum: 3」が表示されます。
この興味深い動作は、明示的に文書化されていませんが、実験を行い、PHP における演算子の優先順位と結合性の微妙なニュアンスを理解することで発見できます。
以上が整数の加算と連結時に PHP が「2」をエコーするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。