PHP EOF(heredoc) 使用說明

PHP EOF(heredoc) 使用說明

PHP EOF(heredoc)是一種在命令列shell(如sh、csh、ksh、bash、PowerShell和zsh)和程式語言(像Perl、PHP、Python和Ruby)裡定義一個字串的方法。

使用概述:

  • 1. 必須後接分號,否則編譯通不過。
  • 2. EOF 可以用任意其它字元代替,只需保證結束標識與開始標識一致。
  • 3. 結束標識必須頂格獨自佔一行(即必須從行首開始,前後不能銜接任何空白和字元)。
  • 4. 開始標識可以不帶引號或帶單雙引號,不帶引號與帶雙引號效果一致,解釋內嵌的變數和轉義符號,帶單引號則不解釋內嵌的變數和轉義符號。
  • 5. 當內容需要內嵌引號(單引號或雙引號)時,不需要加轉義符,本身對單雙引號轉義,此處相當與q和qq的用法。

例項

<?php
echo <<<EOF
        <h1>我的第一個標題</h1>
        <p>我的第一個段落。</p>
EOF
;
// 結束需要獨立一行且前後不能空格
?>

注意:

1.以 <<<EOF 開始標記開始,以 EOF 結束標記結束,結束標記必須頂頭寫,不能有縮排和空格,且在結束標記末尾要有分號 。

2.開始標記和結束標記相同,比如常用大寫的 EOT、EOD、EOF 來表示,但是不只限於那幾個(也可以用:JSON、HTML等),只要保證開始標記和結束標記不在正文中出現即可。

3.位於開始標記和結束標記之間的變數可以被正常解析,但是函式則不可以。在 heredoc 中,變數不需要用連線符 ., 來拼接,如下:

例項

<?php
$name="itread01";
$a= <<<EOF
        "abc"$name
        "123"
EOF
;
// 結束需要獨立一行且前後不能空格
echo $a;
?>