PHP在匿名函数中继承全局变量

时间:2015-11-27 11:52:06

标签: php laravel-5 closures anonymous-function laravel-excel

我无法在匿名函数中使用变量$data

$data = array(...);
Excel::create('Filename',function($excel){
  foreach($data as $v){
     //...
  }
});

我收到错误:“未定义的变量:$ data”

此外:

 $data = array(...);
 Excel::create('Filename',function($excel){
   global $data;
   foreach($data as $v){
      //...
   }
 });

我收到错误“为foreach()提供的参数无效”

如何在匿名函数中使用$data

1 个答案:

答案 0 :(得分:0)

您需要use使用closure,如下所示

$data = array(...);
Excel::create('Filename',function($excel) use ($data){
  foreach($data as $v){
     //...
  }
});