2016-05-13 68 views
6

我運行這個,它會產生4to1解釋輸出:echo'to'.print('2')+ 2;

但需要它是如何輸出4to1

任何人都可以請解釋解釋?

+0

http://stackoverflow.com/questions/13737265/explain-the-output-of-echo-2-3-print-3 – JiteshNK

+0

JiteshNK我從複製圖案的複製相同的鏈接在我的問題我找不到答案如何(+)操作員工作 –

回答

9

print('2')+2這部分代碼將打印號碼4開始行。 Print將在echo之前解決。

然後運作echo將得到解決和回聲含有to爲第一,如果你使用print()內部回聲,它將打印功能參數爲先數1

由於安德烈亞斯Scheibleger在評論中提及的1來源於print返回值始終是1,因爲它是不可能的回顯print()功能。

例如:

echo print("");  // 1 
echo print("test"); // test1 
+2

要添加一個筆記,'1'來自'print'的返回值總是'1' –

+0

要添加一個筆記,你應該't'回顯'打印'。 – revo

+1

但是爲什麼'print('2')+ 2'輸出'4'?我希望這個表達式評估爲'3',因爲print()總是返回'1',但顯然它被評估爲'print('2'+ 2)'????? –