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代码,或者不需转义的大块字符。
参考资料: