什麼情況下可以不寫PHP的結束標籤“?>”

來源:互聯網
上載者:User

標籤:style   blog   color   使用   strong   檔案   div   代碼   html   

我們經常看到有些PHP檔案中的代碼是只有開始標籤,而沒有結束標籤的,那麼什麼情況下可以不寫這個結束標籤,而什麼情況下必須寫?先來看2個例子:

下面的代碼正常運行:

<?php    echo 123456;

下面的代碼報錯:

<?php    echo 123456;    <p>abc</p>

原因分析:

前者是純php代碼,可以不寫結束標籤,也不推薦寫結束標籤;後者除了php代碼,還有html代碼,必須要寫結束標籤。

 

為什麼不推薦前者寫結束標籤?

在不寫php結束標籤時,預設從開始標籤往後都是php代碼,如果有其他代碼,那就會報錯。php只能運行在php標籤裡面的指令碼,在指令碼之外的所 有字元,包括你看不見的空格或者斷行符號,定位字元號,都是作為輸出內容會response到用戶端的,這樣就有可能會產生意想不到的事情。例如檔案裡面使用了 header函數,這個檔案同時又包含了另外一個檔案,並且被包含的檔案的php標籤外有Null 字元,這個時候會報header already send的錯誤。我們查看一些網頁的原始碼看到的開頭部分有很多空格和換行,就是因為這個原因導致的。

 

解決方案建議:

庫檔案、或者一些class檔案等只有純php代碼的檔案不推薦加結束標籤。

什麼情況下可以不寫PHP的結束標籤“?>”

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.