2010-09-02 33 views
4

是什麼

<?php echo '$test'; ?> 

<?=$test?> 

之間的區別?

+0

我想你的意思是<?php echo $ test; ?>和 Justin 2010-09-02 02:39:42

+0

@Justin:很可能。有人可以關閉這個問題嗎? – polemon 2010-09-02 02:51:28

+0

@polemon - 如果您認爲應該關閉,請提及重複/原因。 – 2010-09-02 04:46:37

回答

8

前者輸出文字字符串$test,後者輸出值$test

+1

如果您打開了短標籤。 – 2010-09-02 04:42:31

10

假設你的意思是<?php echo $test; ?>,這兩者實際上是一回事。問題是,你想成爲多麼便攜。 <?php ?>幾乎支持PHP的任何地方,但很多管理員禁用<?= ?>語法。

+0

我相信他錯打了他的問題... – polemon 2010-09-02 02:50:40

+0

@polemon - 同意 – 2010-09-02 02:52:43

1

我傾向於使用<?= ?>(稱爲short_open_tags)作爲模板或腳本的「視圖」部分。但是,這必須在php.ini中明確啓用,因此如果您正在使用腳本進行分發,最好避免使用它,除非您不關心腳本的買方/用戶是否可能沒有打開short_open_tags

+1

此外,啓用'short_open_tags'使得''而不是''可以有意想不到的副作用,因爲PHP不是唯一使用帶有問號格式的標籤(首先,一個有效的XHTML頁面應該有一個xml標籤,看起來像'')。 – Tgr 2010-09-02 05:17:57

3

<?= $test ?>是相同的<?php echo $test; ?>

自PHP 5.4.0本<?= ... ?>標籤始終可用,無論php.ini設置短標籤和short_open_tag的值爲指令只controls<? ... ?>標籤。

另外,relevant answer

通常建議不要使用短標籤,但僅適用於較長版本的模板中的簡單輸出,僅適用於更復雜的邏輯。這使得PHP代碼更容易混亂,更易讀。

相關問題