闭包可用在什么地方?
- 减少foreach的循环的代码
- 减少函数的参数
- 解除递归函数
- 减少重复代码
$message = 'hello';
$example = function() use ($message){
var_dump($message);
};
echo $example();
//重置为hello
$message = 'hello';
//此处传引用
$example = function() use(&$message){
var_dump($message);
};
echo $example();
//输出hello
$message = 'world';
echo $example();
//此处输出world
//闭包函数也用于正常的传值
$message = 'hello';
$example = function ($data) use ($message){
return "{$data},{$message}";
};
echo $example('world');
//此处输出world,hello