Llamar a una función PHP con un número variable de argumentos
Cuando se trata de funciones PHP que aceptan un número variable de argumentos, el número de parámetros pasado a la función se puede determinar en función de la longitud de una matriz. Para lograr esto, PHP proporciona varias técnicas:
call_user_func_array
Si los argumentos se almacenan en una matriz, se puede emplear la función call_user_func_array. Esta función acepta una matriz como segundo parámetro, que contiene los argumentos de la función.
Ejemplo:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; call_user_func_array('test', $params);
Este código generará:
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
for Loop
Otra opción es usar un bucle for para iterar sobre la matriz y pasar cada elemento como argumento a la función.
Ejemplo:
function test($num1, $str1, $str2) { var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; for ($i = 0; $iEste código generará:
array(1) { [0] => int 10 } array(1) { [0] => string 'glop' (length=4) } array(1) { [0] => string 'test' (length=4) }Al utilizar estas técnicas, puede llamar de manera efectiva funciones PHP con un número variable de argumentos según la longitud de una matriz.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3