如何将数组转换为方法的参数



我需要将参数(如:'param1', 'param2', 'param3'(传递给方法。。。但是我有一个参数数组(比如:array('param1', 'param2', 'param3')(。如何将数组转换为params?

function foo(array $params) {
    bar(
        // Here should be inserted params not array.
    );
}

使用函数call_user_func_array。

例如:

call_user_func_array('bar', $params);

如果您知道参数名称,您可以访问以下

$params = array(
    'param1' => 'value 1',
    'param2' => 'value 2',
    'param3' => 'value 3',
);
function foo(array $someParams) {
    extract($someParams);  // this will create variables based on the keys
    bar($param1,$param2,$param3);
}

不确定这是否是你的想法。

您可以像这样将一个转换为另一个:

function foo(array $params)
{
    bar(...$params);
}

或者直接进入酒吧:

bar(...$array);

对于";条";函数接收您可以使用的几个参数:

function bar(...$params)
{
    //$params is a array of parameters
}

function bar($p1, $p2, $p3)
{
    //$pn is a variables
}

function bar($p1, ...$pn)
{
    //$p1 is a variable
    //$pn is a array of parameters
}

但是要注意参数的类型和数量,不要给你带来问题。

visite:函数参数

相关内容

  • 没有找到相关文章

最新更新