2014-07-10 26 views
0

我從控制檯運行此PHP文件並獲取一行而不是三行。爲什麼PHP的行爲是這樣的?我的換行符號在哪裏去了?它只有在PHP不是最後一條語句時才保留換行符。這有點怪異和不明顯,不是嗎?有沒有關於此行爲的任何文檔條目,或者這是一個錯誤?當行尾沒有更多符號時,PHP會丟失換行符

<?php ?> 

foo = <?= 'foo' ?> 
bar = <?= 'bar' ?> 
baz = <?= 'baz' ?> 

謝謝!

回答

1

這就是PHP的工作原理。如果結束標記?>之後緊跟一個換行符,那麼該換行符會從輸出中剝離(技術上,它被認爲是結束標記的一部分)。

the docs

用於該塊的結束標記將包括立即尾隨的換行符如果存在。

請注意,這僅適用於第一個換行符後的結束標記;如果添加更多,它們將正常顯示在輸出中。

+0

你可以鏈接到文檔嗎? – neoascetic

+1

http://www.php.net/manual/en/language.basic-syntax.instruction-separation.php –

+0

@neoascetic:我更新了答案。 – Jon