获取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;