PHP:在字符串块中插入PHP变量

时间:2012-07-20 19:33:37

标签: php string-interpolation


因此,在Perl和PHP中,您可以使用多个“<”生成一个文本块。符号:
的Perl:

return <<TEXT;
    <a href=$foo>Perl interpolates this properly</a>
TEXT

PHP:

return <<<TEXT
    <a href=$bar>PHP does not interpolate this...</a>
TEXT;

所以,我的问题是,有没有办法(干净地)在PHP中这样做,就像在Perl中一样? 我尝试了<?...?><?php...?>,但他们做了同样的事情......
此外,这实际上是整个文本块的一个子集......否则我只会构建字符串。

2 个答案:

答案 0 :(得分:3)

是的,它叫做heredoc语法:

$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

答案 1 :(得分:2)

PHP Heredocs被视为双引号字符串,所以如果你的意图是在最终字符串中显示$ bar的值,那么这应该有效。