我有一段时间没有完成PHP所以我有点困惑为什么我在标题中收到错误
$count =0;
User::chunk(200, function ($users) {
$count++;
error_log('------------ chunck: '.$count);
});
答案 0 :(得分:5)
您必须使用文档(http://php.net/manual/en/functions.anonymous.php)中描述的declare @id1 int,
@id table
(
id int
)
select * from @id
:
闭包还可以从父作用域继承变量。任何这样的 变量必须在函数头中声明。继承 父作用域中的变量与使用全局不同 变量。全局变量存在于全局范围内,即 无论执行什么功能都一样。
代码:
use
答案 1 :(得分:4)
你应该使用use($ count)将var $ count传递给匿名函数
$count =0;
User::chunk(200, function ($users) use ($count) {
$count++;
error_log('------------ chunck: '.$count);
});
答案 2 :(得分:3)
你必须将$ count变量传递给closure / lambda
User::chunk(200, function ($users) use($count) {
$count++;
error_log('------------ chunck: '.$count);
});