У меня есть переменная $foo
с некоторым идентификатором в нем, и я хочу использовать его в строке Heredoc в PHP, как это:
$text = <<<TEXT
<div id="$foo_bar"></div>
TEXT;
Очевидная проблема заключается в том, что PHP анализирует переменную в Heredoc как $foo_bar
чего, конечно же, не существует. Что я хочу это разобрать $foo
переменная и «_bar» должны рассматриваться как обычный текст.
Возможно ли использовать какой-нибудь экранирующий символ или его нельзя достичь?
П.С .: Да, я знаю, что могу использовать строку в кавычках вместо Heredoc, но я должен использовать Heredoc (у меня есть тонна текста и кода с кавычками и т. Д.).
Положите фигурные скобки вокруг переменной, как в строке в кавычках.
$text = <<<TEXT
<div id="{$foo}_bar"></div>
TEXT;
Используйте этот код вместо того, чтобы принудительно использовать $foo
,
$text = <<<TEXT
<div id="{$foo}_bar"></div>
TEXT;
Вьющиеся скобки заставляют содержимое быть переменной.
Кроме того, вы можете прикрепить «_bar» перед HEREDOC.
$foo = $foo . "_bar";
$text = <<<TEXT
<div id="$foo"></div>
TEXT;