1

addUp任意の数の 10 進引数を取り、それらをすべて加算した結果を返す関数が呼び出されたとします。

次の機能がある場合:

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

明らかに呼び出すと、myTest(1,2,3)引数を 1 つしか渡さずaddUp、それが配列であるため、これは機能しません。

(関数を編集せずに)渡されたすべての引数を関数に渡す方法はありmyTestますか?addUpaddUp

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 に答える