如何在heredoc变量中存储PHP代码?

时间:2011-10-18 08:43:07

标签: php

我想将以下代码存储在HEREDOC变量中:

<?php

$var = 'test';
echo $var;

?>
像那样:

$hered = <<<HERED
<?php

$var = 'test';
echo $var;

?>
HERED;

问题在于HEREDOC的作用类似于双引号"" - 这意味着每个美元符号($)必须替换为\$ ......

有没有办法在不执行此类操作的情况下使用HEREDOC?

2 个答案:

答案 0 :(得分:16)

是的,有。查看nowdoc语法:

$hello = 'hey';
$echo <<<'EOS'
$hello world!
EOS;
//Output: $hello world

答案 1 :(得分:0)

可以使用\

echo <<<HEREDOC
<?php

\$var = 'test';
echo \$var;

?>
HEREDOC;

我知道现在有doc,但是例如,我当前的用例需要heredoc,因为有些美元需要转义,而另一些则不需要:

$variableNotToEscape = 'this should be output';
echo <<<HEREDOC
$variableNotToEscape
\$variableNotToEscape
HEREDOC;

返回哪个

this should be output
$variableNotToEscape