Se hai i tuoi argomenti in un array, potresti essere interessato dal file call_user_func_array
funzione.
Se il numero di argomenti che vuoi passare dipende dalla lunghezza di un array, probabilmente significa che puoi impacchettarli in un array e usarlo per il secondo parametro di call_user_func_array
.
Gli elementi di quell'array passato verranno quindi ricevuti dalla funzione come parametri distinti.
Ad esempio, se hai questa funzione:
function test() {
var_dump(func_num_args());
var_dump(func_get_args());
}
Puoi impacchettare i tuoi parametri in un array, come questo:
$params = array(
10,
'glop',
'test',
);
E, quindi, chiama la funzione:
call_user_func_array('test', $params);
Questo codice produrrà:
int 3
array
0 => int 10
1 => string 'glop' (length=4)
2 => string 'test' (length=4)
cioè 3 parametri; esattamente come la funzione è stata chiamata in questo modo:
test(10, 'glop', 'test');