用(未知)可变数量的参数调用函数?

Blu*_*ill 4 php function variadic

我需要向函数发送params

array_intersect_key()
Run Code Online (Sandbox Code Playgroud)

但有时我需要发送2个阵列,有时候 - 3个或更多:

array_intersect_key($arr_1, $arr_2);
OR
array_intersect_key($arr_1, $arr_2, $arr_3, $arr_4);
Run Code Online (Sandbox Code Playgroud)

Cal*_*Cal 7

假设您想要创建这样的自己的函数,关键是使用func_get_args():

function mumble(){
    $args = func_get_args();
    foreach ($args as $arg){
        ... whatever
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你只是想用多个args调用它,要么"只做它",要么使用call_user_func_array():

$args = array();
... append args to $args
call_user_func_array('array_intersect_key', $args);
Run Code Online (Sandbox Code Playgroud)