如何在没有重置值的情况下将计数器创建为块函数闭包?

时间:2016-09-16 16:17:11

标签: laravel laravel-5 closures

我使用了Laravel 5的块方法闭包。

但是当函数闭包获得一个新块时,重置var。

...
$var = 0;
DB::connection('mysql_old')->table($table)->orderBy('uid')->whereNotNull('uid')->chunk(100, function($suppliers)
        use ($table, $checks, $faker,$missing,$var)
{
    // Some code
       ++$var;
}

如果在每个新块上使用$var传递给use ($var)$var将重置为0。

箱子和用户关闭计数器的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

您需要通过引用function() use(&$var) {}

传递它

如果你没有通过引用传递,那么你传递的就是值,所以任何修改的范围就像普通参数一样。