为什么这个代码块产生$ text?

时间:2014-09-01 22:40:59

标签: php

为什么这个代码块产生$ text?

$text = 'This is text';

$text1 = <<<'TEXT'
$text
TEXT;

$text2 = <<<TEXT
$text1
TEXT;

echo "$text2"; 

第一个heredoc(在$ text1中)是&#39; TEXT&#39;,单引号,是否与第二个heredoc相同(在$ text2中)?

PS。这个问题是关于heredoc和nowdoc,而不是单引号和双引号。它不是重复的

2 个答案:

答案 0 :(得分:0)

带有单引号(NOWDOC)的HEREDOC不会解析任何变量的内容。

  

Nowdocs是单引号字符串,heredocs是双引号字符串。类似于heredoc指定了nowdoc,但是在nowdoc内部没有进行解析。

http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

答案 1 :(得分:0)

第一个是nowdoc,第二个是heredoc。它们不一样。

  

Nowdocs是单引号字符串,heredocs是双引号字符串。类似于heredoc指定了nowdoc,但是在nowdoc内部没有进行解析。