public function test()
{
$x = 10;
$collection = collect([0, 10, 20]);
$collection = $collection->map(function ($item, $key){
return $item + $x;
});
}
我想访问$x
函数中的map
变量:如何操作?
当我尝试获取值时,我收到此错误消息:
ErrorException:未定义的变量:x
答案 0 :(得分:9)
您需要使用use
关键字使anonymous function继承变量。
您可以这样使用它:
$collection = $collection->map(function ($item, $key) use ($x) {
return $item + $x;
});
答案 1 :(得分:1)
public function test()
{
$x = 10;
$collection = collect([0, 10, 20]);
$collection = $collection->map(function ($item) use ($x) {
return $item + $x;
});
}
请注意,您的代码中有return =
错误
答案 2 :(得分:0)
public function test()
{
$x = 10;
$collection = collect([0, 10, 20]);
$collection = $collection->map(function ($item, $key) use ($x) {
return $item + $x;
});
}