строка — Как избежать имени переменной в PHP Heredoc?

У меня есть переменная $foo с некоторым идентификатором в нем, и я хочу использовать его в строке Heredoc в PHP, как это:

$text = <<<TEXT
<div id="$foo_bar"></div>
TEXT;

Очевидная проблема заключается в том, что PHP анализирует переменную в Heredoc как $foo_bar чего, конечно же, не существует. Что я хочу это разобрать $foo переменная и «_bar» должны рассматриваться как обычный текст.

Возможно ли использовать какой-нибудь экранирующий символ или его нельзя достичь?

П.С .: Да, я знаю, что могу использовать строку в кавычках вместо Heredoc, но я должен использовать Heredoc (у меня есть тонна текста и кода с кавычками и т. Д.).

0

Решение

Положите фигурные скобки вокруг переменной, как в строке в кавычках.

$text = <<<TEXT
<div id="{$foo}_bar"></div>
TEXT;
2

Другие решения

Используйте этот код вместо того, чтобы принудительно использовать $foo,

$text = <<<TEXT
<div id="{$foo}_bar"></div>
TEXT;

Вьющиеся скобки заставляют содержимое быть переменной.

Кроме того, вы можете прикрепить «_bar» перед HEREDOC.

$foo = $foo . "_bar";
$text = <<<TEXT
<div id="$foo"></div>
TEXT;
1

По вопросам рекламы [email protected]