【问题标题】:Concatenate string WITHIN a PHP HEREDOC block在 PHP HEREDOC 块内连接字符串
【发布时间】:2020-02-24 15:39:37
【问题描述】:

我想在一个长的(ish)HEREDOC 块中连接一个字符串。

我正在制作一个非常快速而肮脏的表单构建器,仅用于在数据库中输入虚拟数据。我在文本块中有$var.Help

$out = <<<textOnly
  <div class="form-group">
    <label for="$var">$var</label>
    <input type="text" class="form-control" id="$var" aria-describedby="$var" placeholder="$var">

    <small id="$var.Help" 

  class="form-text text-muted"> 
  We'll never share your email with anyone else.</small>
   </div>
textOnly;

如果我用空格做,我得到一个空格,如果我做一个点,我得到一个点,没有空格会寻找错误的变量,{} 只会导致错误。我知道还有很多其他方法可以做到这一点,但有没有办法在 HEREDOC 字符串中连接?

澄清:我希望能够做到:

$var = fred;

在 PHP 中。然后在行中使用该值

<small id="$var.Help" 

以 HTML 格式生成结果:

<small id="fredHelp" ...

希望这更清楚。

错误包括:
$var.Help 仅产生“fred.Help”
{$var.Help} 产生错误
$varHelp 在查找变量 $varHelp 时产生警告!

【问题讨论】:

  • 您的代码片段生成一个没有错误的字符串。请使用 $var = 显示一个完整的可重现示例?用相关的错误描述阐明您的问题或错误。
  • 感谢您帮助我改进了问题。

标签: php concatenation heredoc


【解决方案1】:

{$var}Help 应该可以解决问题。您使用 { 分隔您的 var,然后将字符串添加到需要的位置

【讨论】:

  • 好吧,每个人都会犯错,但并不是每个人都能真正提出一个关于你拥有什么、你想要什么以及你尝试过什么的好问题,所以你做对了最难的部分:实际上问了一个好问题问题:D欢呼!
猜你喜欢
  • 2011-04-29
  • 2014-10-04
  • 2011-11-26
  • 2019-06-21
  • 2019-11-21
  • 2019-04-07
  • 2021-11-25
  • 2012-05-01
相关资源
最近更新 更多