将可选数量的参数传递给另一个函数

时间:2012-05-18 14:49:25

标签: php

假设我有一个名为addUp的函数,它接受任意数量的小数参数并返回它们的结果全部加在一起。

如果我有以下功能:

function myTest(){
    $args = func_get_args();
    return addUp($args);
}

如果我显然调用myTest(1,2,3)这将无效,因为我只将一个参数传递给addUp并且这是一个数组。

有没有办法将传递到myTest的所有参数传递到addUp函数中(不编辑addUp函数)?

2 个答案:

答案 0 :(得分:2)

您可以使用call_user_func_array

它使用从数组派生的参数调用函数(这是从func_get_args()得到的)。

答案 1 :(得分:-1)

您可以传入一个数组,然后遍历它。

$args = array(1, 2, 3, 4);

function myTest($arr){
    $r = 0;
    foreach($arr as $value){
        $r += intval($value);
    }

    return $r;
}

echo myTest($args);