获取Laravel的总数
我正在尝试获取Laravel中上载的Excel文件中存在的总页数。 我正在上传的文件有3张。 所以我期待得到$counter = 3
的输出。
码:
$counter=0; Excel::load($fileDetails['file_path'], function($sheet) use($counter) { $sheet->each(function($sheet) use($counter) { echo "It works</br>"; $counter++; }); }); echo $counter; exit;
输出:
It works It works It works 0 //-- This is $counter, which is not get incremented. It has to be 3.
这个use
像传递参数一样工作。 缺省值是按值传递,所以在函数内部进行的任何修改都不会反映在函数范围之外。
如果您通过引用传递variables,则会反映变化。
更新您的代码到:
$counter=0; // add & to have var passed by reference Excel::load($fileDetails['file_path'], function($sheet) use(&$counter) { // add & to have var passed by reference $sheet->each(function($sheet) use(&$counter) { echo "It works</br>"; $counter++; }); }); echo $counter; exit;