3

我有一个php函数function foo($bar1, $bar2, $bar3)

是否有可能动态获取参数名称和值

我找到了func_get_argshttp://php.net/manual/de/function.func-get-args.php),但这会返回类似

0 => "valueOf$bar1", 1=> "valueOf$bar2", 2 => "valueOf$bar3"

我想要的是类似的东西:

"$bar1" => "valueOf$bar1", "$bar2"=> "valueOf$bar2", "$bar3" => "valueOf$bar3"

那可能吗?

4

2 回答 2

5

您可以使用get_defined_vars. 一个例子

于 2012-07-27T10:18:03.817 回答
2

可以实现,但需要付出很多努力。您需要通过反射获取参数名称,并将名称映射到通过func_get_args.

如果你真的需要这个,你可以采取另一条更简单的路线并定义你的函数采用单个参数对象

class MyParamObj {
    public $foo;
    public $bar;
}

function myfunc(MyParamObj $args) {
    # ...
}
于 2012-07-27T10:16:15.600 回答