Может кто-нибудь помочь мне понять область действия переменной для этого сценария? У меня есть переменная $i
, и я закрываю эту переменную и увеличиваю ее. Но когда я печатаю переменную $i
вне замыкания, она печатает 0
(начальное значение). Как я могу убедиться, что эффекты в переменной $i
доступны извне?
class ImportsController{
public function sync()
{
$i = 0;
LazyCollection::make(function () use (&$csv_data) {
$datas = $csv_data;
foreach ($datas as $line) {
if (count($line) == $key_count && !containsOnlyNull($line)) {
yield $line;
}
}
})
->chunk(50)
->each(function ($lines) use (&$i) {
foreach ($lines as $chunk) {
if ($lines) {
$i++;
}
}
});
echo $i;
}
}