heredoc是什麼?它能為PHP做什麼?

highhand發表於2021-09-11
為了讓大家徹底理解php中的EOF,這次我們開始一個新的章節,有需要的小夥伴可以來看看。

在php中,存在一種定義字串的方法,這就是heredoc;它可以在在命令列shell(如sh、csh、ksh、bash、PowerShell和zsh)和程式語言(像Perl、PHP、Python和Ruby)之中去定義。

首先我們來看一個小小的栗子。

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

我們看這段程式碼,好像“$a=”後面的程式碼十分奇特啊,居然使用了“<<<”,而且它還有兩個一樣的EOF單詞,這是什麼呢?這又有什麼意思呢?

在PHP中,如果我們想在命令列shell裡或是在程式語言定義字串,我們有一個特定的格式,就是.以<<<EOF開始標記開始,以EOF結束標記結束。

我們瞭解了heredoc,那我們去看看使用heredoc的方法吧。

1. 必須在EOF結束標記後接分號,否則編譯通不過。

2. 只要保證結束標識與開始標識一致,開始標記和結束標記可以用任意其它字元代替。

3. 結束標記必須佔據頂部網格中的一行(它必須從行首開始,後面不能有任何空格和字元)。

4.開始識別符號可以沒有引號,也可以有單引號和雙引號。不帶引號的效果與帶雙引號的效果相同。解釋嵌入變數和轉義符號。對於單引號,嵌入變數和轉義符號不會被解釋。

5.當內容需要嵌入引號(單引號或雙引號)時,不需要新增轉義符。內容本身避開了單引號和雙引號,這等同於Q和QQ的用法。

知道了那麼多使用heredoc的方法之後,我們去看看注意事項吧,避免我們寫出來的程式碼無法使用啊,或是出現其他的問題。

1.以<<<EOF開始標籤開始,以EOF結束標籤結束。結束標記必須寫在開頭,沒有縮排和空格,並且結束標記的結尾必須有分號。

2.開始標記與結束標記相同,例如大寫的EOT、EOD和EOF,但不限於那些(JSON、HTML等),只要開始標記和結束標記不出現在正文中。

3.開始標籤和結束標籤之間的變數可以正常解析,但函式不能。在heredoc中,變數不需要用連線符.,來將它們連線到一起,就想我們上面例子裡的“"abc"$name”一樣。

就說到這裡了,有其他想知道的,可以點選這個哦。→ →

以上就是heredoc是什麼?它能為PHP做什麼?的詳細內容,更多請關注php中文網其它相關文章!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/810/viewspace-2827629/,如需轉載,請註明出處,否則將追究法律責任。

相關文章