"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo llamar a una función PHP con un número variable de argumentos?

¿Cómo llamar a una función PHP con un número variable de argumentos?

Publicado el 2024-11-10
Navegar:881

How to Call a PHP Function with a Variable Number of Arguments?

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; $i 

Este 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.

Último tutorial Más>

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