2012-05-18 326 views
1

假設我有一個叫做addUp的函數,它可以接受任意數量的小數參數並返回它們全部相加的結果。將可選數量的參數傳遞給另一個函數

如果我有以下功能:

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

如果我把myTest(1,2,3)這顯然是行不通的,因爲我只有通過一個參數addUp,這是一個數組。

有沒有辦法將傳入myTest的所有參數傳遞給addUp函數(不需要編輯addUp函數)?

回答

2

你可以使用call_user_func_array

它要求從一個陣列所得出的(這是你從func_get_args()得到什麼)的參數的函數。

-1

您可以傳入一個數組,然後遍歷它。

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

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

    return $r; 
} 

echo myTest($args); 
相關問題