PHP 函數中的動態參數傳遞
在PHP 中,可以使用func_num_args() 和建立接受可變數量參數的函數func_get_argsfunc_get_argsf ()。但是,如果參數的數量取決於陣列的長度,則指定傳遞給此類函數的參數可能會很困難。
利用 call_user_func_array
幸運的是,PHP 提供了 call_user_func_array 函數,它允許您使用參數數組呼叫函數。如果要傳遞的參數個數由數組長度決定,可以將其封裝成數組,作為call_user_func_array的第二個參數。
範例
考慮以下函數:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); }
要使用陣列中的不同參數呼叫它,您可以執行以下操作:
$params = array( 10, 'glop', 'test', ); call_user_func_array('test', $params);
輸出
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
這表示該函數已接收三個參數,就好像它是透過以下方式明確調用的:
test(10, 'glop', 'test');
以上是如何根據數組的長度向 PHP 函數傳遞可變數量的參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!