當(dāng)解析一個(gè)php文件時(shí),php會(huì)尋找起始和結(jié)束標(biāo)記,也就是?,這告訴 php 開(kāi)始和停止解析二者之間的代碼。此種解析方式使得 php 可以被嵌入到各種不同的文檔中去,而任何起始和結(jié)束標(biāo)記之外的部分都會(huì)被 php 解析器忽略。
PHP 也允許使用短標(biāo)記??和 ? ??>, 這種標(biāo)記方式也可以正常執(zhí)行,但這里不鼓勵(lì)使用。只有通過(guò)激活 php.ini 中的 short_open_tag 配置指令或者在編譯 PHP 時(shí)使用了配置選項(xiàng) --enable-short-tags 時(shí)才能使用短標(biāo)記。
如果文件內(nèi)容是純 PHP 代碼,最好在文件末尾刪除 PHP 結(jié)束標(biāo)記。這可以避免在 PHP 結(jié)束標(biāo)記之后萬(wàn)一意外加入了空格或者換行符,會(huì)導(dǎo)致 PHP 開(kāi)始輸出這些空白,而腳本中此時(shí)并無(wú)輸出的意圖。
test.php
<?php echo "Hello world"; // 腳本至此結(jié)束,并無(wú) PHP 結(jié)束標(biāo)記
從 HTML 中分離
凡是在一對(duì)開(kāi)始和結(jié)束標(biāo)記之外的內(nèi)容都會(huì)被 ? ?PHP 解析器忽略,這使得 PHP 文件可以具備混合內(nèi)容。 可以使 PHP ? ?嵌入到 HTML 文檔中去,如下例所示。
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
This?is?going?to?be?ignored?by?PHP?and?displayed?by?the?browser.
This?will?also?be?ignored?by?PHP?and?displayed?by?the?browser.
這將如預(yù)期中的運(yùn)行,因?yàn)楫?dāng) PHP 解釋器碰到 ?> ? ?結(jié)束標(biāo)記時(shí)就簡(jiǎn)單地將其后內(nèi)容原樣輸出(除非馬上緊接換行 - 見(jiàn)指令分隔符)直到碰到下一個(gè)開(kāi)始標(biāo)記;例外是處于條件語(yǔ)句中間時(shí),此時(shí) ? ?PHP 解釋器會(huì)根據(jù)條件判斷來(lái)決定哪些輸出,哪些跳過(guò)。見(jiàn)下例。
使用條件結(jié)構(gòu):
Example #1 使用條件的高級(jí)分離術(shù)
??This?will?show?if?the?expression?is?true.
??Otherwise?this?will?show.
上例中 PHP 將跳過(guò)條件語(yǔ)句未達(dá)成的段落,即使該段落位于 PHP 開(kāi)始和結(jié)束標(biāo)記之外。由于 ? ?PHP 解釋器會(huì)在條件未達(dá)成時(shí)直接跳過(guò)該段條件語(yǔ)句塊,因此 PHP 會(huì)根據(jù)條件來(lái)忽略之。
要輸出大段文本時(shí),跳出 PHP 解析模式通常比將文本通過(guò) ? ??echo?或 ?print?輸出更有效率。
可以在 PHP 中使用四對(duì)不同的開(kāi)始和結(jié)束標(biāo)記。其中兩種, ? ?和 總是可用的。另兩種是短標(biāo)記和 ? ?ASP?風(fēng)格標(biāo)記,可以在php.ini配置文件中打開(kāi)或關(guān)閉。盡管有些人覺(jué)得短標(biāo)記和 ? ?ASP?風(fēng)格標(biāo)記很方便,但移植性較差,通常不推薦使用。
Note:
此外注意如果將 PHP 嵌入到 XML 或 XHTML ? ? ?中則需要使用 標(biāo)記以保持符合標(biāo)準(zhǔn)。
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)