2014-08-30 61 views
3

以下代碼的輸出?以下PHP代碼的輸出是什麼?

echo '1' . (print '2') + 3; 

我測試過,結果是214,但爲什麼214?

如果我代碼:

echo (print '2') + 3; 

結果爲24 然後,回聲 '1'。 '24';應該是124

困惑......

+0

也許,如果你寫明智的,可維護的代碼,你就不會問類似這樣的問題:-) – paxdiablo 2014-08-30 07:57:58

+0

這些類型的問題,實際上是要求在Zend的PHP考試。不是最明智的代碼,但從更理論的角度來看很有趣。 – 2014-08-30 08:29:25

+0

@Peter,是的,我在Zend考試中看到過這樣的問題,不知道爲什麼Zend考試會問這樣的問題,也許他們認爲這是PHP語言的基礎知識?順便說一句,你認爲Zend考試值得嗎? – lamplanp 2014-08-30 10:29:15

回答

8

當表達式解析,「打印」語句立即以書面形式輸出。所以有第2個。根據定義,它的返回值是1.

那麼剩下的表達式是字符1,後面是數字表達式1 + 3。因此,1和4

+0

感謝您的回答! – lamplanp 2014-08-30 08:08:59

+0

@lamplanp如果答案對你有幫助,請將答案標記爲正確。謝謝。 – 2014-08-30 08:30:39

+0

彼得,完成,謝謝 – lamplanp 2014-08-30 10:27:08