1

假设我有一个函数addUp,它接受任意数量的十进制参数并返回它们全部相加的结果。

如果我有以下功能:

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

如果我myTest(1,2,3)显然调用这将不起作用,因为我只传递一个参数addUp,那就是一个数组。

有没有办法将传入的所有参数传递myTestaddUp函数(不编辑addUp函数)?

4

2 回答 2

2

你可以使用call_user_func_array

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

于 2012-05-18T15:01:15.090 回答
-1

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

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

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

    return $r;
}

echo myTest($args);
于 2012-05-18T14:58:14.327 回答