什么是PHP中的heredoc和nowdoc

Posted ALonely

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是PHP中的heredoc和nowdoc相关的知识,希望对你有一定的参考价值。

heredoc结构类似于双引号字符串,nowdoc结构是类似于单引号字符串的。nowdoc结构很像heredoc结构,但是 nowdoc不进行解析操作。 这种结构很适合用在不需要进行转义的php代码和其它大段文本。与SGML的 <![CDATA[ ]]> 结构是用来声明大段的不用解析的文本类似,nowdoc结构也有相同的特征。
一个nowdoc结构也用和heredocs结构一样的标记 <<<, 但是跟在后面的标志符要用单引号括起来,就像<<<\'EOT\'这样。heredocs结构的所有规则也同样适用于nowdoc结构,尤其是结束标志符的规则。
看看下面的heredoc的例子:

$name="JBilder";$age="18";$title="JBilder_9986";
echo "这里是heredoc的使用:<br />";
echo <<<JBilderPHP
怎么解决关于自定义session时候session覆盖???我的名字叫做:{$name};年龄是:{$age};标题是:{$title}.
JBilderPHP;

得到的结果是:


看看下面的nowdoc的例子:

1 $name="JBilder";$age="18";$title="JBilder_9986";
2 echo "这里是heredoc的使用:<br />";
3 echo <<<JBilderPHP
4 怎么解决关于自定义session时候session覆盖???我的名字叫做:{$name};年龄是:{$age};标题是:{$title}.
5 JBilderPHP;
View Code

得到的结果是:

注意对于heredoc变量要使用大括号括起来,如果直接像下面那么写的话:

1 echo <<<\'JBilderPHP\'
2 怎么解决关于自定义session时候session覆盖???我的名字叫做:$name;年龄是:$age;标题是:$title.
3 JBilderPHP;
View Code

就会出现下面的提示性的错误:

 

以上是关于什么是PHP中的heredoc和nowdoc的主要内容,如果未能解决你的问题,请参考以下文章

php中heredoc与nowdoc的使用方法定界符<<<的使用方法

php变量和数据类型

PHP定义字符串的四种方式

php的更新

php各个版本的区别

php各个版本的区别