在PHP函数中使用变量(Laravel 5)

时间:2015-07-03 10:35:46

标签: php variables laravel-5

我在使用laravel函数中的数据时遇到问题,这是一个例子:

    public function csvUnique($id){ 

          $date1= ''.$id.' 00:00:00';
          $date2= ''.$id.' 23:59:59';       

        \Excel::create('Customer list', function ($excel) {

         $excel->sheet('Sheetname', function ($sheet) {

             echo  $date1; 
             echo  $date1; 

             });

            })->export('csv');

} //end csv

$id是传递值,如果使用dd($id),我可以看到值。问题是:如何在函数内传递值date1date2

我尝试了同样的错误:

**Undefined variable: date1**

1 个答案:

答案 0 :(得分:1)

您必须将变量注入闭包的范围。这是通过use

完成的
\Excel::create('Customer list', function ($excel) use ($date1, $date2) {

     $excel->sheet('Sheetname', function ($sheet) use ($date1, $date2) {
         echo  $date1; 
         echo  $date1; 
     });

})->export('csv');

在你的情况下,你必须做两次。首先将它传递到第一个匿名函数中,然后从那里传递到第二个函数。

请查看this answer,了解整个主题的详细说明。 跨越范围边界部分与您的问题特别相关。