function f($g) { // g 是匿名函数
return function h() use($g) {
// 做一些其他工作……然后调用 g,把 h 收到的所有参数传给 g
return call_user_func_array($g, func_get_args());
};
}
// 现在这么用,g 是一个做加法的函数,结果通过参数 r 返回
$h = f(function (&$r, $a, $b) { $r = $a + $b; });
$h($r, 1, 2); // 出错,因为 $r 不能传引用,问题出在上面的 func_get_args() 。
请问,如何把 &$r 传进匿名函数 g ?谢谢!
补充:这是一个简化的例子,我知道可以用返回值来接收结果:$r = $h(1, 2);但因为一些不便说明的原因,我“希望”用参数接收结果,请问有办法吗?
说实话,你这样的写法很奇怪,而且不建议用引用。
这个问题应该会沉