0

次のコードがあるとします。

<?php
echo 'hello' . print 123;

実行されます。

私が期待するのは ですhello123が、実際の出力は123hello1です。

なぜ123が最初に来るのですか?1また、出力の最後に含まれているのはなぜですか?

( の周りに一対の括弧を入れようとしましたhelloが、それでも同じ結果です。)

4

4 に答える 4

11
echo 'hello' . print 123;

'hello'これは の戻り値と連結されますprint 123。値をprint 返す前に1出力 123します。連結されたものhello1は、後で によって出力echoされます。したがって、評価は次のとおりです。

  1. 出力123
  2. 戻る1
  3. 連結'hello'して1
  4. 出力hello1
于 2013-04-29T13:43:41.977 に答える
2

ドキュメントには、print関数が常に 1 を返すことが明確に記載されています。

それで、ここでそれがどうなるか。

print 関数の実行 -> 出力123-> return 1-> concat with hello.

于 2013-04-29T13:42:24.980 に答える
0

なぜ123が最初に来るのですか?
おそらく、print ステートメントが最初に実行され、「123」が出力されるためです。

また、出力の最後に 1 が含まれるのはなぜですか?
「print」は1を返し、echoステートメントはその「1」をエコーするためです

于 2013-04-29T13:44:02.800 に答える