如何通过数组作为多个参数的功能?

问题描述 投票:12回答:2

我有一个参数数组:

$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/ ...

php function parsing call
2个回答
18
投票

您需要使用call_user_func_array

call_user_func_array( array($method, $function), $params);

1
投票

由于PHP 5.6,你可以用argument unpacking

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

$numbers = [1, 2, 3];
echo add(...$numbers);
© www.soinside.com 2019 - 2024. All rights reserved.