php使用数组将参数传递给动态函数

时间:2014-02-04 23:47:16

标签: php url-routing

我已经在网上搜索了高低的任何答案,但没有找到任何答案。

以下是我要完成的事情:

我在mvc框架中有一个路由功能,目前这是将参数传递给函数的方式。

$this->url_controller->{$this->url_action}($this->url_parameter_1, $this->url_parameter_2, $this->url_parameter_3);

这很好,但仅限于3个参数,或者我硬编码的次数。我想让这个功能更具动态性。它正在调用的实际函数需要4个参数。我想做的是:

$params = array();
foreach( $this->url_parameters as $key => $value ):
    if($key == 0) continue;
    if($key == 1) continue;
    $params[] = $this->url_parameters[$key];
endforeach;
$this->url_controller->{$this->url_action}($params);

现在我理解为什么这不起作用。我尝试过使用call_user_func_array(),但由于动态命名,它无法正常工作。我也试图避免在接收端使用func_get_args()来保持简单。

感谢任何帮助。 :)

1 个答案:

答案 0 :(得分:0)

在接收端使用func_get_args()处理所有参数,然后循环访问,因为它是一个数组。