将字符串与php函数的输出连接为另一个函数的参数

时间:2014-07-27 11:41:35

标签: php

当我调用函数mainfunc()时,我想将一个显式值放在函数输出附近,作为mainfunc()的参数。我想像mainfunc('foo'.LaTeX());那样做。

但是,当我这样做时,我会在“foo”之前获得LaTeX()的输出,它会完全打印我LaTeXfooLaTeX()的输出为LaTeX)当我尝试像LaTeX() . foo那样置换它时,我得到了同样的东西。

所以,这是函数LaTeX()

的定义
function LaTeX()
{
    ?><span class="latex">L<spu>a</sup>T<sub>e</sub>X</span><?php
}

那么,我该怎样做才能让mainfunc使用fooLaTeX函数准确接收LaTeX()

1 个答案:

答案 0 :(得分:2)

答案很简单:

不打印(如果您关闭PHP代码并重新打开会发生这种情况)。

以下两行代码基本上会做同样的事情(它们等同于):

echo '<b>Hello World!</b>';

?><b>Hello World!</b><?php

相反,使用返回值:

function LaTeX()
{
    return '<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>';
}

这将创建您正在寻找的行为。但是,如果您只是计划返回固定字符串,那么最好定义一个常量:

define(LaTeX, '<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>');

mainfunc('foo' . LaTeX);