2013-09-26 77 views
-4

如果爲什麼不<?php =工作?

<?=$var?> 

纔會使用短標籤被啓用,那麼這是否意味着了一般的版本是:

<?php=$var?> 

第二個不工作壽。

+1

問題的答案是因爲它花了我幾秒鐘的谷歌「PHP的短標籤」,並檢查php.net所有的信息是在那裏,根據我的回答(這是可悲的downvoted嘆了口氣)。 Stack上也有很多關於這個的模糊。 – James

回答

5

<?php=是無效的語法。您的選擇是

  • 短標籤<?=
  • 長版<?php echo(或print()
+0

也可能有效地補充說,<?php'必須有一個尾隨空格,否則將不會被正確解釋。 '<?php $ var = 3;'例如不會按預期執行(假設您期望它分配的變量是)。 – Fluffeh

3

如果短標籤被激活,您可以使用<?=$var?>
這是<?php echo $var ?>

短版

沒有什麼叫<?php=$var?>你必須用01代替或print()

+1

我剛剛瞭解到,實際上,不需要啓用短標籤即可在PHP 5.4及更高版本中使用<?=。所以你的回答並不完全正確。 –

0

因爲沒有其他人提到過這一點,並在使用谷歌進一步搜索...我想發佈我認爲是至關重要的信息。

http://php.net/manual/en/function.echo.php

下面的鏈接狀態:

呼應也有一個快捷方式的語法,在那裏你可以緊跟 打開標籤與等號。 在PHP 5.4.0之前,此短語法 僅在啓用short_open_tag配置設置的情況下起作用。

這是非常重要的,因爲沒有需要,如果短標籤被禁用或PHP的所有未來版本啓用<?php=因爲<?=將工作!

這是非常重要的,因爲使用所有其他短標籤被認爲是徒勞的。無論如何,從現在開始鼓勵使用短回波標籤。它確實提供了一個更平滑和更整潔的代碼庫 - 尤其是。在視圖文件中。因此對於PHP >= 5.4.0<?= ?>可以不用設置short_open_tag而使用。

+0

爲什麼投票,所有這些信息是真實的,並直接從php.net –

+0

+1信息 – Deepak

+0

@Arian爲了回答你,-1是因爲我覺得你沒有付出足夠的努力試圖找到在提問之前回答自己。這是很容易的信息來源。事實上,你在問題後17分鐘發佈了這個答案。更重要的是,你已經在昨天的另一個問題中提出了這個問題,並得到了很好的答案,並鏈接到你的問題的良好答案 - http://stackoverflow.com/questions/18989102/can-var-syntax-cause-problems所以你的問題在這裏是你以前的問題的一個騙局,它與其他欺騙有關。對不起,但它值得-1。多搜索一下:) – James

0

總是首先檢查Stack,Google等,然後檢查PHP.net並閱讀它。
這一切都在手冊中明確的一天! :)

http://php.net/manual/en/language.basic-syntax.phptags.php

當PHP解析一個文件時,會尋找開始和結束標記,這是<?php?>告訴PHP開始和停止解釋其中的代碼。

PHP也允許使用短標籤<??>(這是因爲它們只在使用short_open_tag php時纔可用,所以不鼓勵。ini配置文件指令,或者如果PHP配置了--enable-short-tags選項。

http://www.php.net/manual/en/ini.core.php#ini.short-open-tag

此指令也影響了速記<?= PHP 5.4.0,其等同於<?回波之前。使用此快捷方式需要打開short_open_tag。由於PHP 5.4.0,<?=始終可用。