2011-06-04 63 views
5

我發現在某個頁面上的網頁與此有關的人打印字符串:'<?='與'echo'相同嗎?

<?= 'hello world'; ?> 

這是一個更快的方法來print串在一個代碼行或它的工作原理有什麼不同?

+2

短標籤一般不推薦(http://php.net/manual/en/ini.core.php) – 2011-06-04 10:18:21

+0

是的,你甚至可以忽略';'。但是,一般來說,您可以使用此簡寫形式打印出內容變量,例如,而不是直接的字符串(可以打印那些簡單的HTML沒有任何PHP) – 2011-06-04 10:19:22

+0

只要是正確的:這是一個捷徑,「回聲」,而不是「打印」。這些是PHP中的兩種不同的功能。 – 2011-06-04 10:39:00

回答

4

是。這將作爲回聲,但不建議,許多服務器已禁用此可用性。它被稱爲「短標籤」

+1

「推薦」取決於你的個人情況。如果你控制服務器,或者如果已經啓用了short_open_tags,那麼使用short_open_tags不是問題,它確實有助於代碼的可讀性。 – Sylverdrag 2011-06-04 10:29:53

+0

是的,的確如此。但是在3-6年之前不常使用。 – genesis 2011-06-04 10:34:56

+0

如果你想你的代碼可以移植到其他服務器(例如,通過其他人使用),你最好避免的事情,可以通過在ini一個簡單的變化完全打破。 – delnan 2011-06-04 10:52:19

2

根據the documentation<?= ... ?>表格是echo的快捷方式,因此從性能角度來看它們應該是相同的。

2

它不完全相同只是echo,這是一種快捷語法。

<?= 'hello world'; ?> 

將是一樣的:

<?php echo 'hello world'; ?> 

後者建議,因爲short_open_tags也許您的服務器上被禁用。