我正在尝试获取函数的回显并将值添加到变量中。
所以这就是我所做的。
function myfunction() {
echo 'myvar';
}
然后我想把它变成这样的变量:
$myVariable = myfunction();
我认为这会奏效,但我还没有工作。
这不是这样做的方法吗?如果没有,我该怎么做?
答案 0 :(得分:6)
您可以在启用output buffering的同时调用该功能,然后您可以捕获输出。 E.g。
<?php
ob_start();
myfunction();
$variable = ob_get_contents();
ob_end_clean();
echo $variable;
?>
输出:
myvar
或者您只需将echo
语句更改为return
语句。
您当前的版本不起作用,因为您没有从函数返回值。由于您省略了return语句,因此返回值NULL并将其赋值给您的变量。你可以这样做:
$variable = myfunction();
var_dump($variable);
输出:
NULL