2017-04-09 17 views

答えて

5

をエラーを取得していますなぜあなたはuseを使用する必要がしばらくPHPを行っていませんhttp://php.net/manual/en/functions.anonymous.php):

クロージャも親スコープから変数を継承することがあります。そのような任意の 変数は、関数ヘッダーで宣言する必要があります。親スコープからの 変数の継承は、グローバル 変数の使用と同じではありません。グローバル変数は、グローバルスコープ内に存在します。これは、実行中の関数に関係なく同じです。 です。

コード:

$count =0; 
User::chunk(200, function ($users) use($count) { 
    $count++; 
    error_log('------------ chunck: '.$count); 
}); 
+0

詳細をもう少し追加しました – MoeinPorkamel

4

ご使用を使用する必要があります($カウント)無名関数へのvar $回数を渡す

$count =0; 
User::chunk(200, function ($users) use ($count) { 
    $count++; 
    error_log('------------ chunck: '.$count); 
}); 

のためのより多くのここを参照してくださいhttp://php.net/manual/en/functions.anonymous.php

3

あなた必要があります$ count変数をクロージャ/ラムダに渡す

User::chunk(200, function ($users) use($count) { 
$count++; 
error_log('------------ chunck: '.$count); 
});