Dynamische Argumentübergabe in PHP-Funktionen
In PHP ist es möglich, mithilfe von func_num_args() und Funktionen zu erstellen, die eine variable Anzahl von Argumenten akzeptieren func_get_args(). Allerdings kann die Angabe der an solche Funktionen zu übergebenden Argumente eine Herausforderung sein, wenn ihre Anzahl von der Länge eines Arrays abhängt.
Verwendung von call_user_func_array
Glücklicherweise stellt PHP die Funktion call_user_func_array bereit. Damit können Sie eine Funktion mit einem Array von Argumenten aufrufen. Wenn die Anzahl der Argumente, die Sie übergeben möchten, durch die Länge eines Arrays bestimmt wird, können Sie sie in ein Array packen und es als zweiten Parameter von call_user_func_array verwenden.
Beispiel
Betrachten Sie die folgende Funktion:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); }
Sie können sie mit unterschiedlichen Argumenten aus einem Array aufrufen Folgendes:
$params = array( 10, 'glop', 'test', ); call_user_func_array('test', $params);
Ausgabe
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
Dies zeigt, dass die Funktion drei Parameter erhalten hat, als ob sie explizit aufgerufen worden wäre mit:
test(10, 'glop', 'test');
Das obige ist der detaillierte Inhalt vonWie kann man einer PHP-Funktion basierend auf der Länge eines Arrays eine variable Anzahl von Argumenten übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!