【问题标题】:Variable scope inside php functionphp函数内的变量范围
【发布时间】:2016-10-26 13:48:49
【问题描述】:

我正在使用 Laravel 和 Maatwebsite/Laravel-Excel 从一个 eloquent 模型导出 excel 文件。

这就是我所拥有的

 public function export(Request $request)
    {
        $data = $this->getData($param1)->get();
        $export = Excel::create('example' . date('m-d-Y-G-His'), function ($excel) {
            $excel->setDescription('example');
        });

        $export->sheet('Example', function ($sheet) {
            $sheet->row(1, array(
                'row1',
                'row2',
                'row3'
            ));

            $i = 2;
            foreach ($data as $d) {
                $sheet->row($i, array(
                    $d->id,
                    $d->name, $d->date,
                ));
            }
        });
    }

我得到未定义的变量:数据

我知道这是范围问题并且错误是正确的,但是在函数内部传递变量的最佳方法是什么?

【问题讨论】:

    标签: php laravel scope


    【解决方案1】:

    您可以要求 PHP 使用 use 关键字使其在匿名函数中可用:

    $export->sheet('Example', function ($sheet) use ($data) {
    

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 1970-01-01
      • 2021-12-30
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多