Wenn Sie Ihre Argumente in einem Array haben, könnte Sie die call_user_func_array
Funktion interessieren .
Wenn die Anzahl der Argumente, die Sie übergeben möchten, von der Länge eines Arrays abhängt, bedeutet dies wahrscheinlich, dass Sie sie selbst in ein Array packen können - und dieses für den zweiten Parameter von verwenden können call_user_func_array
.
Elemente dieses Arrays, die Sie übergeben, werden dann von Ihrer Funktion als eindeutige Parameter empfangen.
Zum Beispiel, wenn Sie diese Funktion haben:
function test() {
var_dump(func_num_args());
var_dump(func_get_args());
}
Sie können Ihre Parameter wie folgt in ein Array packen:
$params = array(
10,
'glop',
'test',
);
Rufen Sie dann die Funktion auf:
call_user_func_array('test', $params);
Dieser Code gibt die Ausgabe aus:
int 3
array
0 => int 10
1 => string 'glop' (length=4)
2 => string 'test' (length=4)
dh 3 Parameter; genau wie die Funktion wurde so genannt:
test(10, 'glop', 'test');