如何将数组作为多个参数传递给函数?

21

我有一个参数数组:

$params[1] = 'param1';
$params[2] = 'param2';
$params[3] = 'param3';
...
$params[N] = 'paramN';

我有一个调用多个函数的调用者:

$method->$function( $params );

如何解析$params数组,以便可以向任何函数传递多个(无限数量的)参数:

$method->$function( $params[1], $params[2], ..., $params[N] );

这个想法是利用类似这样的url重写:

http://domain.com/class/method/parameter/parameter/parameter/...

2个回答

25
你需要使用call_user_func_array函数。
call_user_func_array( array($method, $function), $params);

19

从PHP 5.6开始,您可以使用参数解包

function add($a, $b, $c) {
    return $a + $b + $c;
}

$numbers = [1, 2, 3];
echo add(...$numbers);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接