PHP完全獨學マニュアル
/ PHP EOF(heredoc)
PHP EOF(heredoc)
PHP EOF(heredoc)是一種在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序語言(像Perl、PHP、Python和Ruby)里定義一個字符串的方法。
使用概述:
1.必須后接分號,否則編譯通不過。
2.EOF 可以用任意其它字符代替,只需保證結(jié)束標識與開始標識一致。
3.結(jié)束標識必須頂格獨自占一行(即必須從行首開始,前后不能銜接任何空白和字符)。
4.開始標識可以不帶引號或帶單雙引號,不帶引號與帶雙引號效果一致,解釋內(nèi)嵌的變量和轉(zhuǎn)義符號,帶單引號則不解釋內(nèi)嵌的變量和轉(zhuǎn)義符號。
5.當內(nèi)容需要內(nèi)嵌引號(單引號或雙引號)時,不需要加轉(zhuǎn)義符,本身對單雙引號轉(zhuǎn)義,此處相當與q和qq的用法。
實例
<?php echo <<<EOF <h1>我的第一個標題</h1> <p>我的第一個段落。</p> EOF; // 結(jié)束需要獨立一行且前后不能空格 ?>
注意:
1.以 <<<EOF 開始標記開始,以 EOF 結(jié)束標記結(jié)束,結(jié)束標記必須頂頭寫,不能有縮進和空格,且在結(jié)束標記末尾要有分號 。
2.開始標記和結(jié)束標記相同,比如常用大寫的 EOT、EOD、EOF 來表示,但是不只限于那幾個(也可以用:JSON、HTML等),只要保證開始標記和結(jié)束標記不在正文中出現(xiàn)即可。
3.位于開始標記和結(jié)束標記之間的變量可以被正常解析,但是函數(shù)則不可以。在 heredoc 中,變量不需要用連接符 . 或 , 來拼接,如下:
<?php $name="runoob"; $a= <<<EOF "abc"$name "123" EOF; // 結(jié)束需要獨立一行且前后不能空格 echo $a; ?>