Jeśli masz swoje argumenty w tablicy, możesz być zainteresowany call_user_func_array
funkcją.
Jeśli liczba argumentów, które chcesz przekazać, zależy od długości tablicy, prawdopodobnie oznacza to, że możesz samodzielnie spakować je do tablicy - i użyć tego jako drugiego parametru programu call_user_func_array
.
Elementy tej przekazanej tablicy zostaną następnie odebrane przez funkcję jako odrębne parametry.
Na przykład, jeśli masz tę funkcję:
function test() {
var_dump(func_num_args());
var_dump(func_get_args());
}
Możesz spakować swoje parametry w tablicę, na przykład:
$params = array(
10,
'glop',
'test',
);
A następnie wywołaj funkcję:
call_user_func_array('test', $params);
Ten kod wyświetli:
int 3
array
0 => int 10
1 => string 'glop' (length=4)
2 => string 'test' (length=4)
tj. 3 parametry; dokładnie tak, jak funkcja iof została wywołana w ten sposób:
test(10, 'glop', 'test');