我想将函数的参数转换为关联数组,其中键等于参数变量名,值等于参数值.
PHP:
function my_function($a, $b, $c) {
// <--- magic goes here to create the $params array
var_dump($params['a'] === $a); // Should result in bool(true)
var_dump($params['b'] === $b); // Should result in bool(true)
var_dump($params['c'] === $c); // Should result in bool(true)
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
是否可以将参数作为关联数组传递ReflectionMethod::invokeArgs?这将允许我以不同于声明的顺序传递参数.
例如:
class A
{
public function someMethod($a, $b)
{
return sprintf("a - %s, b - %s", $a, $b);
}
}
$rm = new ReflectionMethod('A', 'someMethod');
echo $rm->invokeArgs(new A(), array('b' => 1, 'a' => 2));
Run Code Online (Sandbox Code Playgroud)