PHP EOF(heredoc) 使用說(shuō)明
php eof(heredoc)是一種在命令行shell(如sh、csh、ksh、bash、powershell和zsh)和程序語(yǔ)言(像perl、php、python和ruby)里定義一個(gè)字符串的方法。
使用概述:
- 1. 必須后接分號(hào),否則編譯通不過(guò)。
- 2. eof 可以用任意其它字符代替,只需保證結(jié)束標(biāo)識(shí)與開(kāi)始標(biāo)識(shí)一致。
- 3. 結(jié)束標(biāo)識(shí)必須頂格獨(dú)自占一行(即必須從行首開(kāi)始,前后不能銜接任何空白和字符)。
- 4. 開(kāi)始標(biāo)識(shí)可以不帶引號(hào)或帶單雙引號(hào),不帶引號(hào)與帶雙引號(hào)效果一致,解釋內(nèi)嵌的變量和轉(zhuǎn)義符號(hào),帶單引號(hào)則不解釋內(nèi)嵌的變量和轉(zhuǎn)義符號(hào)。
- 5. 當(dāng)內(nèi)容需要內(nèi)嵌引號(hào)(單引號(hào)或雙引號(hào))時(shí),不需要加轉(zhuǎn)義符,本身對(duì)單雙引號(hào)轉(zhuǎn)義,此處相當(dāng)與q和qq的用法。
<?php
echo <<<eof
<h1>我的第一個(gè)標(biāo)題</h1>
<p>我的第一個(gè)段落。</p>
eof;
// 結(jié)束需要獨(dú)立一行且前后不能空格?>
注意:
1.以 <<<eof 開(kāi)始標(biāo)記開(kāi)始,以 eof 結(jié)束標(biāo)記結(jié)束,結(jié)束標(biāo)記必須頂頭寫(xiě),不能有縮進(jìn)和空格,且在結(jié)束標(biāo)記末尾要有分號(hào) 。
2.開(kāi)始標(biāo)記和結(jié)束標(biāo)記相同,比如常用大寫(xiě)的 eot、eod、eof 來(lái)表示,但是不只限于那幾個(gè)(也可以用:json、html等),只要保證開(kāi)始標(biāo)記和結(jié)束標(biāo)記不在正文中出現(xiàn)即可。
3.位于開(kāi)始標(biāo)記和結(jié)束標(biāo)記之間的變量可以被正常解析,但是函數(shù)則不可以。在 heredoc 中,變量不需要用連接符 . 或 , 來(lái)拼接,如下:
<?php
$name="yapf";
$a= <<<eof
"abc"$name
"123"
eof;
// 結(jié)束需要獨(dú)立一行且前后不能空格
echo $a;
?>