Laravel Excel - 访问函数外的变量

Laravel Excel - Access variable outside function

我正在使用 http://www.maatwebsite.nl/laravel-excel/docs 并且我正在尝试访问此函数之外的变量。我阅读了有关全局变量的信息,但这似乎是一个糟糕的解决方案。

Excel::load($request->file, function ($results) {
    foreach ($results->toArray() as $row) {
       $rows[] = $row;
    }
});

在我的脚本中,我想在上述函数之外访问 $rows。这怎么可能?

我知道了:

$results = Excel::load($request->file);
$data = $results->toArray();

能够删除该功能并仍然修改和访问我想做的数据。

您只需要将 $rows 声明为数组 $rows=[]; 在闭包函数之前和之外。您还需要在闭包中包含 use($rows)

Excel::load($request->file, function ($results) use($rows) {
foreach ($results->toArray() as $row) {
   $rows[] = $row;
}

});

否则可以有其他方法

      $path = $request->file('import_file')->getRealPath();
        $data = Excel::load($path, function($reader) {
        })->get();

        dd($data);