我有一个变量$foo
,其中包含一些id,我想在PHP中的Heredoc字符串中使用它,如下所示:
$text = <<<TEXT
<div id="$foo_bar"></div>
TEXT;
明显的问题是PHP将Heredoc中的变量解析为$foo_bar
,当然,它并不存在。我想要的是解析$foo
变量和&#34; _bar&#34;应被视为常规文本。
是否可以使用某种转义字符,或者无法实现?
P.S。:是的,我知道我可以使用带引号的字符串而不是Heredoc,但我必须使用Heredoc(我有大量的文本和代码,带引号等)。
答案 0 :(得分:2)
在变量周围加上花括号,就像在带引号的字符串中一样。
$text = <<<TEXT
<div id="{$foo}_bar"></div>
TEXT;
答案 1 :(得分:1)
请改用此代码强制使用$foo
。
$text = <<<TEXT
<div id="{$foo}_bar"></div>
TEXT;
卷曲括号强制内容为变量。
或者,您可以在HEREDOC之前附上“_bar”。
$foo = $foo . "_bar";
$text = <<<TEXT
<div id="$foo"></div>
TEXT;