簡體   English   中英

如何在PHP的Heredoc中轉義變量名?

[英]How to escape variable name in PHP's Heredoc?

我有一個帶有$foo id的變量$foo ,我想像這樣在PHP的Heredoc字符串中使用它:

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

顯而易見的問題是,PHP將Heredoc中的變量解析為$foo_bar ,這當然是不存在的。 我想要的是解析$foo變量,“ _ bar”應被視為常規文本。

是否可以使用某種轉義符或無法實現?

PS:是的,我知道我可以使用帶引號的字符串來代替Heredoc,但是我必須使用Heredoc(我在其中包含大量文本和帶引號的代碼,等等)。

像在帶引號的字符串中一樣,在變量周圍放置花括號。

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

使用此代碼代替強制使用$foo

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

圓括號將內容強制為變量。

或者,您可以在HEREDOC之前附加“ _bar”。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM