0

我有这样的PHP函数:

function doingSomething($arg)
{
    ...
    echo($someString);
}

我不想复制/粘贴该函数并仅在我需要该函数返回值而不是回显它时才创建第二个函数。我怎样才能修改它,以便它在我需要时只返回 $someString ?

4

3 回答 3

3

使用另一个参数告诉您的函数如何处理字符串:

function doingSomething($someString, $echo = false){
    if($echo){
      echo $someString;
    } 
    return $someString;
}

然后,如果您想回显它:

doingSomething('String to echo', true);

或返回:

doingSomething('String to return');
于 2013-10-02T11:22:22.587 回答
1

为什么不根据需要使用或返回值,如下所示:

<?php
function doingSomething()
{
    return "Fluffeh";
}

$var=doingSomething();
echo $var."<br><br>";

echo "Or this way ".doingSomething();
?>

您可以两全其美,既可以将输出保存到变量中,也可以根据需要在代码中简单地回显它?

输出:

Fluffeh

Or this way Fluffeh
于 2013-10-02T11:25:03.150 回答
1

您可以使用该函数的第二个参数来执行此操作。

function doSomething($arg, $doOutput) {
    ...
    if ($doOutput) { echo $someString; }
    else { return $someString; }
}

如果 $doOutput 为真,这将回显字符串,否则返回。

于 2013-10-02T11:22:35.013 回答