2015-09-26 78 views
-8

具體而言,爲什麼下面的代碼工作(輸出「測試」)。PHP爲什麼這有用?

<? 
    $variable = 'test'; 
?> 

<?=$variable?> 

這是hacky或功能?

+1

他們是短標記。 '<?='=='<?php echo' – ElefantPhace

+1

PHP是hacky。這是二十一世紀,人們仍在使用它。 –

回答

2

<?=?>是短標籤爲echo(); 根據PHP

輸出的所有參數。

echo實際上並不是一個函數(它是一種語言結構),因此您不需要使用圓括號。回聲(不像其他一些 語言結構)不表現得像一個函數,所以它不能 總是在函數的上下文中使用。此外,如果要 將多個參數傳遞給回顯,則括號內的參數不得爲 。

回聲也有一個快捷方式的語法,在這裏你可以立即跟着 打開標籤等號。在PHP 5.4.0之前,此短語法 僅在啓用short_open_tag配置設置的情況下起作用。

帶給你的還有下面的例子:

我有<?=$foo?> FOO。

+0

好的交易。每天學習新東西。我很好奇爲什麼之間的空間<?和=不起作用編輯:感謝編輯埃利亞斯。社交空間 – Jesse

+0

因爲,它的'='如果你把一個空間,它會嘗試回聲,但由於是內部沒有'''或'「'concadenated爲一個字符串,它就會失敗。它這個答案後呼應的一切你的問題,接受這是「最佳答案」... –

+0

接受任何答案至少需要10分鐘;) – Jesse