在块函数Laravel 4上使用变量

Rod*_*rca 4 php orm laravel laravel-4

我需要在laravel 4上使用变量到一个方法,如何将这个变量传递给来自eloquent的方法块?

$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) {
        foreach ($prealumnos as $pre) {
           //do something with variableonmethod
        }
});
Run Code Online (Sandbox Code Playgroud)

pab*_*rsk 9

如果您只想阅读信息

$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) use ($variableonmethod) {
    echo variableonmethod[0]; // prints `value1`
    variableonmethod[0] = 'Hola';
    echo variableonmethod[0]; // prints `Hola`
    foreach ($prealumnos as $pre) {
       //do something with variableonmethod
    }
});
echo variableonmethod[0]; // prints `value1`
Run Code Online (Sandbox Code Playgroud)

但是,如果您想阅读数组并更改其值(检查打开use)

$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) use (&$variableonmethod) {
    echo variableonmethod[0]; // prints `value1`
    variableonmethod[0] = 'Hola';
    echo variableonmethod[0]; // prints `Hola`
    foreach ($prealumnos as $pre) {
       //do something with variableonmethod
    }
});
echo variableonmethod[0]; // prints `Hola`
Run Code Online (Sandbox Code Playgroud)

  • 太好了,这就是我正在寻找的。 (2认同)

Nin*_*ade 6

您可以使用use($ var)传递数组来实现结果.

$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) use ($variableonmethod) {
    foreach ($prealumnos as $pre) {
       //do something with variableonmethod
    }
});
Run Code Online (Sandbox Code Playgroud)