0

我试图在我的脚本的一个部分中使用一个heredoc 字符串,在这个heredoc 字符串内部是一个来自类内部的函数,它输入一些动态的东西。

该函数正确输出代码......但在错误的地方。这就是我的意思:

$output = <<<HTML
blah blah
blah
blah blah
<select>
{$admin->dropAcctNumbers()}
</select>
blah blah
blah
HTML;

当它显示在 Web 浏览器中时,它会显示从内部dropAcctNumbers()一直回显的代码:

    <option>Account Numbers</option>
blah blah
blah
blah blah
<select>
</select>
blah blah
blah

什么时候应该在这里:

blah blah
blah
blah blah
<select>
    <option>Account Numbers</option>
</select>
blah blah
blah

有任何想法吗?

4

2 回答 2

1

你的方法$admin->dropAcctNumbers是打印信息而不是returning它..

例子

echo "<pre>";
$admin = function () {
    print "    Account Numbers";
};

$output = <<<HTML
blah blah
blah
blah blah
{$admin()}
blah blah
blah
HTML;

echo $output;

输出

    Account Numbersblah blah
blah
blah blah

blah blah
blah

echo "<pre>";
$admin = function () {  return "    Account Numbers" ; } ;

$output = <<<HTML
blah blah
blah
blah blah
{$admin()}
blah blah
blah
HTML;

echo $output ;

输出

blah blah
blah
blah blah
    Account Numbers
blah blah
blah
于 2012-10-10T18:08:08.957 回答
0

试试这个

echo "<pre>".$output."</pre>";
于 2012-10-10T18:11:17.310 回答