【问题标题】:Laravel Excel - Access variable outside functionLaravel Excel - 访问函数外的变量
【发布时间】:2017-10-14 02:10:51
【问题描述】:
我正在使用http://www.maatwebsite.nl/laravel-excel/docs,并且我正在尝试访问此函数之外的变量。我阅读了有关全局变量的信息,但这似乎是一个糟糕的解决方案。
Excel::load($request->file, function ($results) {
foreach ($results->toArray() as $row) {
$rows[] = $row;
}
});
在我的脚本中,我想在上述函数之外访问$rows。这怎么可能?
【问题讨论】:
标签:
php
laravel
laravel-excel
【解决方案1】:
我明白了:
$results = Excel::load($request->file);
$data = $results->toArray();
能够删除该功能,并且仍然可以修改和访问我想做的数据。
【解决方案2】:
你只需要将 $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);