Sat*_*000 2 php function output-buffering variable-assignment
我试图获取函数的回声并将值添加到变量中.
所以这就是我所做的.
function myfunction() {
echo 'myvar';
}
Run Code Online (Sandbox Code Playgroud)
然后我想把它变成这样的变量:
$myVariable = myfunction();
Run Code Online (Sandbox Code Playgroud)
我认为这会奏效,但我没有工作.
这不是这样做的方法吗?如果没有,我该怎么做?
您可以调用该功能,同时打开输出缓冲,然后您可以捕获输出.例如
<?php
ob_start();
myfunction();
$variable = ob_get_contents();
ob_end_clean();
echo $variable;
?>
Run Code Online (Sandbox Code Playgroud)
输出:
myvar
Run Code Online (Sandbox Code Playgroud)
或者您只需将echo语句更改为return语句.
您当前的版本不起作用,因为您没有从函数返回值.由于您省略了return语句,因此返回值NULL并将其赋值给您的变量.你可以通过这样做来看到这个:
$variable = myfunction();
var_dump($variable);
Run Code Online (Sandbox Code Playgroud)
输出:
NULL
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |