我想将以下代码存储在HEREDOC变量中:
<?php
$var = 'test';
echo $var;
?>
像那样:
$hered = <<<HERED
<?php
$var = 'test';
echo $var;
?>
HERED;
问题在于HEREDOC的作用类似于双引号""
- 这意味着每个美元符号($
)必须替换为\$
......
有没有办法在不执行此类操作的情况下使用HEREDOC?
答案 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