【发布时间】:2015-08-02 17:05:08
【问题描述】:
我想调用一个带有一些参数的匿名函数(lambda 或闭包),我知道参数名称但我不知道它们的顺序! call_user_func_array() 函数可以使用参数数组调用该函数,但该数组不能是关联数组来设置所需参数的每个值,以下代码是我解决问题的尝试,但它们不起作用!
功能:
$function = function ($b, $c, $a) {
echo "a=" . $a . " & b=" . $b . " & c=" . $c;
};
我想要的输出:
a=1 & b=2 & c=3
我的尝试:
// Attempt 1
call_user_func_array($function, array("a" => 1, "b" => 2, "c" => 3));
// Attempt 2
$ref = new ReflectionFunction($function);
$ref->invokeArgs(array("a" => 1, "b" => 2, "c" => 3));
产量输出:
a=3 & b=1 & c=2
【问题讨论】:
标签: php function lambda closures