【问题标题】:Assign the value from callback to variable?将回调中的值分配给变量?
【发布时间】:2017-04-05 01:04:31
【问题描述】:

我在将回调中的值分配给变量时遇到问题。

下面的示例代码,没有任何问题。它将显示在浏览器上。

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 仍然为空。

我做错了什么?

【问题讨论】:

标签: php


【解决方案1】:

如果您希望它在您的函数范围之外进行更改,请将 $outout 作为 reference 传递。您可以通过在函数调用中添加 & 来做到这一点。

$outout = '';
Service::connect($account)->exec(['something'], function ($line) use (&$outout) {
      $outout = $outout . = $line;
); 

【讨论】:

【解决方案2】:

您需要将其作为参考传递以更改其值。在 use 语句的变量前使用 &

$outout = null;

Service::connect($account)->exec(['something'], function ($line) use (&$outout) {
      $outout = $outout . = $line;
);

echo $outout;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    相关资源
    最近更新 更多