Nowdoc 和 Heredoc 是 PHP 中两种不同的字符串处理方式。
Nowdoc 就像单引号,不会解析字符块中的变量。
Heredoc 就像双引号,执行时会解析字符块中的变量。
如下的例子:
$foo = ‘bar’;
// Nowdoc 字符块,<<< 后的标识要加单引号
$now = <<<‘NOW’
I’m now, $foo!
NOW;
// Heredoc 字符块,<<< 后的标识不加单引号
$here = <<<HERE
I’m here, $foo!
HERE;
输出的结果是:
I’m now, $foo!
I’m here, bar!
从结果可以看出,在 Nowdoc 中 $foo 变量不会被解析,而 Heredoc 会被解析成对应的值。
因为 Nowdoc 不会解析其中的变量,所以适合嵌入 PHP 代码,或者不需转义的大块字符。