php:按键值迭代函数参数

时间:2012-07-27 10:12:51

标签: php function parameters

我有一个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"

这可能吗?

2 个答案:

答案 0 :(得分:4)

您可以使用get_defined_varsexample

答案 1 :(得分:2)

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

如果真的需要这个,你可以采取另一种更简单的路线,并定义你的功能需要一个parameter object

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

function myfunc(MyParamObj $args) {
    # ...
}
相关问题