1

重複の可能性:
奇妙なエコー、PHP での印刷動作?

次の PHP コード:

print (2).(3 * (print 3));

出力に" " を表示323しますか? どのように処理されますか?

4

1 に答える 1

5

これは括弧 (操作の優先順位) が原因です。

(print 3)

行末の は最終出力の 1 桁目を表示します (3) が、すべての PHP 印刷ステートメントは 1 を返します。常に (マニュアルを確認してください)。したがって、この後、次のようになります。

print (2).(3 * 1);

これは次と同じです:

print (2).(3);

これで、「23」を出力する単純な連結になりました。「323」と表示されています。

ご了承ください

print (2).(1 - (print 3));

「320」と表示されます。

于 2012-12-22T23:21:01.653 に答える