有没有办法从 php 闭包更新调用者范围变量
Is there a way to update caller scope variables from php closure
use
关键字和 php 闭包是将精选变量的范围扩展到闭包的一种非常明确的方法。
如果我们需要从闭包更新调用函数范围内的某个变量的值,有什么办法吗?
$total_strength = 0;
$all_cores->each(function($core) use ($total_strength) {
$total_strength += $code->strength;
});
print('Cumulative cores' strength is: ' . $total_strength);
这里我总是得到 0。如何解决?
您可以简单地传递参数 by reference,像这样:
use (&$total_strength)
//^ See here
use
关键字和 php 闭包是将精选变量的范围扩展到闭包的一种非常明确的方法。
如果我们需要从闭包更新调用函数范围内的某个变量的值,有什么办法吗?
$total_strength = 0;
$all_cores->each(function($core) use ($total_strength) {
$total_strength += $code->strength;
});
print('Cumulative cores' strength is: ' . $total_strength);
这里我总是得到 0。如何解决?
您可以简单地传递参数 by reference,像这样:
use (&$total_strength)
//^ See here