Php 将回调中的值赋给变量?
我无法将回调中的值分配给变量 下面的示例代码,可以正常工作。它将显示在浏览器上Php 将回调中的值赋给变量?,php,Php,我无法将回调中的值分配给变量 下面的示例代码,可以正常工作。它将显示在浏览器上 Service::connect($account)->exec(['something'], function ($line) { echo $line . PHP_EOL; }); 然而,我想为json响应分配一个变量 这不起作用: $outout = null; Service::connect($account)->exec(['something'], function ($line)
Service::connect($account)->exec(['something'], function ($line) {
echo $line . PHP_EOL;
});
然而,我想为json响应分配一个变量
这不起作用:
$outout = null;
Service::connect($account)->exec(['something'], function ($line) use ($outout) {
$outout = $outout . = $line;
);
echo $outout;
$outout
仍然为空
我做错了什么?如果您希望它在您的功能范围之外更改,请将
$outout
传递为。您可以通过在函数调用中添加&
来实现这一点
$outout = '';
Service::connect($account)->exec(['something'], function ($line) use (&$outout) {
$outout = $outout . = $line;
);
您需要将其作为引用传递以更改其值。在
Use
语句的变量前面使用&
$outout = null;
Service::connect($account)->exec(['something'], function ($line) use (&$outout) {
$outout = $outout . = $line;
);
echo $outout;
是的,那就是从父范围继承变量,而不是相反。请在此处查找可能的副本的参考