溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中heredoc的概念及作用是什么

發(fā)布時(shí)間:2021-08-02 10:46:50 來源:億速云 閱讀:153 作者:chen 欄目:編程語言

這篇文章主要講解了“PHP中heredoc的概念及作用是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“PHP中heredoc的概念及作用是什么”吧!

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

首先我們來看一個(gè)小小的栗子。

<?php
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 結(jié)束需要獨(dú)立一行且前后不能空格
echo $a;
?>

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

在PHP中,如果我們想在命令行shell里或是在程序語言定義字符串,我們有一個(gè)特定的格式,就是.以<<<EOF開始標(biāo)記開始,以EOF結(jié)束標(biāo)記結(jié)束。

我們了解了heredoc,那我們?nèi)タ纯词褂胔eredoc的方法吧。

1. 必須在EOF結(jié)束標(biāo)記后接分號(hào),否則編譯通不過。

2. 只要保證結(jié)束標(biāo)識(shí)與開始標(biāo)識(shí)一致,開始標(biāo)記和結(jié)束標(biāo)記可以用任意其它字符代替。

3. 結(jié)束標(biāo)記必須占據(jù)頂部網(wǎng)格中的一行(它必須從行首開始,后面不能有任何空格和字符)。

4.開始標(biāo)識(shí)符可以沒有引號(hào),也可以有單引號(hào)和雙引號(hào)。不帶引號(hào)的效果與帶雙引號(hào)的效果相同。解釋嵌入變量和轉(zhuǎn)義符號(hào)。對(duì)于單引號(hào),嵌入變量和轉(zhuǎn)義符號(hào)不會(huì)被解釋。

5.當(dāng)內(nèi)容需要嵌入引號(hào)(單引號(hào)或雙引號(hào))時(shí),不需要添加轉(zhuǎn)義符。內(nèi)容本身避開了單引號(hào)和雙引號(hào),這等同于Q和QQ的用法。

知道了那么多使用heredoc的方法之后,我們?nèi)タ纯醋⒁馐马?xiàng)吧,避免我們寫出來的代碼無法使用啊,或是出現(xiàn)其他的問題。

1.以<<<EOF開始標(biāo)簽開始,以EOF結(jié)束標(biāo)簽結(jié)束。結(jié)束標(biāo)記必須寫在開頭,沒有縮進(jìn)和空格,并且結(jié)束標(biāo)記的結(jié)尾必須有分號(hào)。

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

3.開始標(biāo)簽和結(jié)束標(biāo)簽之間的變量可以正常解析,但函數(shù)不能。在heredoc中,變量不需要用連接符.,來將它們連接到一起,就想我們上面例子里的“"abc"$name”一樣。

感謝各位的閱讀,以上就是“PHP中heredoc的概念及作用是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)PHP中heredoc的概念及作用是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI