我有一个参数数组,我想通过call_user_func
传递给函数。以下代码目前会给出错误:Missing argument 2 for Closure
。这怎么可以重写才能正常工作?将多个参数传递给匿名函数w/call_user_func
$args = array('foo', 'bar');
call_user_func(function($arg1, $arg2) {}, $args);
我有一个参数数组,我想通过call_user_func
传递给函数。以下代码目前会给出错误:Missing argument 2 for Closure
。这怎么可以重写才能正常工作?将多个参数传递给匿名函数w/call_user_func
$args = array('foo', 'bar');
call_user_func(function($arg1, $arg2) {}, $args);
尝试call_user_func_array()如果您正在寻找传递参数数组。
要么一个接一个地传递它们,要么让回调函数接受一个数组作为参数并在内部进行解析。
知道这个答案。但是,以下也很好。
100000之间Exec的访问
1.006599:call_user_func($ FUNC,$值)
1.193323:call_user_func((阵列($对象,$ FUNC),$值)
1.232891:call_user_func_array($ func,array($ value))
1.309725:call_user_func_array((array($ object,$ func),array($ value)
如果您需要使用call_user_func:
call_user_func(
$function,
$arg1,$arg2
);
如果您需要使用call_user_func_array:
call_user_func_array(
$function,
array($arg1,$arg2)
);
在设计上既可以在数组传递不管。然而,也可以通过设计使用,而不是其他。这一切都取决于它被用于什么。在call_user_func中,一个简单的数组集传递得很好,速度更快。
比我的答案更好。 – 2012-03-16 17:20:21
@KyleDecot最好的方式来感谢我接受一个答案,如果这对你有效:) – Crashspeeder 2012-03-16 18:11:32