2

我想知道我是否可以将回声输出到变量中。我的意思是 echo 需要多个参数,所以我可以使用 echo 输出如下内容:

echo 'Welcome ', $name, ', we are here to help!';

我发现它比连接字符串更干净、更容易维护,而且我无法忍受复杂的语法。是否可以让 echo 只返回一个值?所以我可以做类似的事情

$string_not_meant_for_being_displayed = echo('Lorem', $ipsum);

或者,是否可以创建一个带有无限数量参数的函数?

性能实际上不是问题。

4

8 回答 8

3

是的,可以创建一个带有无限数量参数的函数。您只需要使用func_num_args()来获取提供的参数数量。

function abcd(){
     $numargs = func_num_args();
     echo "Number of arguments: $numargs\n";
}

abcd(1,2,3,4,5,6);
于 2013-02-23T04:49:00.980 回答
1

为什么要将 echo 存储到变量中?

要使用多个参数,请使用双引号语法:

echo "欢迎 $firstname, $lastname。我们是来帮忙的!";

于 2013-02-23T04:49:50.250 回答
1

我对你的问题有点困惑,但我是如何理解的,

在你的函数内部,不要使用 echo,而是使用 return。

例如你有一个函数,

function myFunction()
{
     $name = "Leonardo";

     return $name;
}

在这种情况下,您可以将返回的值用作变量。所以 $name 变量现在的值为“Leonardo”;

于 2013-02-23T04:51:41.647 回答
1

用户sprintf, vsprintf,printf而不是

http://php.net/manual/en/function.sprintf.php

http://www.php.net/manual/en/function.vsprintf.php

http://www.php.net/manual/en/function.printf.php

于 2013-02-23T04:52:07.673 回答
1

如果您必须使用 echo,我相信您想研究使用输出缓冲:ob_startob_get_flush

例子:

ob_start();
echo "This is a test";
$string_not_meant_to_be_displayed = ob_get_flush();
于 2013-02-23T04:55:10.443 回答
1

这样的事情有什么问题...

$name='Goober';
$thing="Welcome $name, we are here to help!";
echo $thing;
echo "\n";
于 2013-02-23T04:57:06.053 回答
1

那这个呢 ??

<?php

function extended_echo($text, $values) {
  $count = 1;
  foreach ($values as $values) {
    $text = preg_replace("#@" . $count . "@#", $values, $text);
    $count++;
  }
  return $text;
}

$myValues = array();
$myValues[0] = 'TechNew.In';
$myValues[2] = 'tech';
$myValues[3] = 'dino babu';

$myText = "Hello, @1@ is an awesome @2@ website by @3@.";

echo extended_echo($myText, $myValues);
?>

输出

Hello, TechNew.In is an awesome tech website by dino babu.
于 2013-02-23T05:25:07.693 回答
0

我能够解决创建另一个函数的问题,如下所示:

function ee(){
     foreach(func_get_args() as $arg) {
        $v .= $arg;
     }
     return $v;
}

$name = "John";
echo ee("Welcome ", $name, ", we are here to help");
$string_not_meant_to_be_displayed = ee("His name is ", $name);

这样,我可以像 echo 一样使用多个参数,但如果需要,可以将其输出到其他地方。

于 2013-02-23T22:11:24.340 回答