【问题标题】:How to assign the echo statement from a function call to a variable?如何将函数调用中的 echo 语句分配给变量?
【发布时间】:2015-08-14 05:12:04
【问题描述】:
我正在尝试获取函数的回声并将值添加到变量中。
这就是我所做的。
function myfunction() {
echo 'myvar';
}
然后我想把它变成这样的变量:
$myVariable = myfunction();
我认为这会工作,但我不工作。
这不是这样做的方法吗?如果没有,我该怎么做?
【问题讨论】:
标签:
php
function
variable-assignment
output-buffering
【解决方案1】:
您可以在打开output buffering 时调用该函数,然后您可以捕获输出。例如
<?php
ob_start();
myfunction();
$variable = ob_get_contents();
ob_end_clean();
echo $variable;
?>
输出:
myvar
或者您只需将echo 语句更改为return 语句。
您当前的版本不起作用,因为您没有从函数中返回值。并且由于您省略了 return 语句,因此返回值 NULL 并分配给您的变量。你可以这样做:
$variable = myfunction();
var_dump($variable);
输出:
NULL