「php化整為零系列」七、Heredoc&Nowdoc


源碼地址:https://github.com/wilfordw/phpTutorial

Heredoc和Nowdoc用于在php代碼中嵌入大段字符,同時特殊字符不需要轉(zhuǎn)義

語法:

Heredoc:

//標(biāo)示可以是自定義字符,前后字符一致,且不能在文章中出現(xiàn) Heredoc中可以嵌入變量
<<<標(biāo)示
文章
標(biāo)示;

Nowdoc;

//標(biāo)示可以是自定義字符,前后字符一致,且不能在文章中出現(xiàn) Nowdoc中不能嵌入變量
<<<'標(biāo)示'
文章
標(biāo)示;

Example

<?php
$name = "MyName";

//Heredoc 語法<<<標(biāo)記...標(biāo)記,可以插入變量 標(biāo)記后不能有空格
echo <<<TEST1
My name is "{$name}"
TEST1;
//My name is "MyName"


//作為方法參數(shù)
echo var_dump(<<<EOD
Hello World
EOD
);
//string(11) "Hello World" 

//常量變量賦值
class A
{
    const xx = <<< EOD
constXX
EOD;

    public $oo = <<< EOD
var_oo
EOD;
}

$a = new A;
echo $a::xx;//constXX
echo $a->oo;//var_oo

//Nowdoc 語法<<<'標(biāo)記'...標(biāo)記,可以插入變量 標(biāo)記后不能有空格
echo <<< 'TEST2'
My name is "{$name}".
TEST2;
//My name is "{$name}".

?>

總結(jié)一些容易出錯的問題:

  1. <<<開始標(biāo)記 后面不能有空格
  2. 結(jié)束標(biāo)記必須定格,以分號結(jié)束
  3. php代碼必須有?>結(jié)尾,對于純php代碼,沒有文本輸出的php代碼官方建議不要用?>結(jié)尾php代碼,但這里必須要,要不會報錯
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容