2010-03-23 67 views
1

當一個回車跟隨一個關閉php標籤時,php不會打印它。PHP省略了返回

我該如何改變這種情況?

非常感謝

回答

6

這是正常的行爲,並且不能更改:關閉?>後的新行總是被忽略。


這裏的參考,在PHP手冊的FAQ:Hey, what happened to my newlines?
(引用,重點煤礦)

<pre> 
<?php echo "This should be the first line."; ?> 
<?php echo "This should show up after the new line above."; ?> 
</pre> 

在PHP中,對代碼塊 是結束「?>」或「?>\n」(其中\n 表示換行符)。
因此,在上面的示例 中,回顯句子將在 一行,,因爲PHP在塊結尾之後省略了 換行符。
這個 意味着你需要在每個PHP代碼塊 之後插入一個額外的 換行符,以便打印出一個換行符。

爲什麼PHP會這樣做?
因爲 格式化正常的HTML時,這通常 讓您的生活更輕鬆,因爲你 不希望換行,但你最好 不得不用一個非常長的線或 以其他方式在HTML頁面的源 不可讀達到那種效果。


而且這裏有幾個有趣的讀一下:

+0

事實上,nowerday建議根本不使用結束標記(在文件的末尾) – Frenck 2010-03-23 18:10:23

+0

不完全正確的Frenck。建議不要在應用程序代碼中使用結束標記。如果您使用PHP作爲模板語言,則不可能不使用結束標記。 – 2010-03-23 18:11:50

+0

這是正確的艾倫,有點忘了提及... – Frenck 2010-03-23 18:15:06

0

是的該語言的默認行爲。

如果您需要換行符,請將echo "\n"echo "<br>"作爲腳本的最後一行。