Maison >développement back-end >tutoriel php >Comment appeler une fonction PHP avec un nombre variable d'arguments ?

Comment appeler une fonction PHP avec un nombre variable d'arguments ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 10:40:02489parcourir

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

Appeler une fonction PHP avec un nombre variable d'arguments

Lorsque vous traitez des fonctions PHP qui acceptent un nombre variable d'arguments, le nombre de paramètres transmis à la fonction peut être déterminé en fonction de la longueur d’un tableau. Pour y parvenir, PHP propose plusieurs techniques :

call_user_func_array

Si les arguments sont stockés dans un tableau, la fonction call_user_func_array peut être utilisée. Cette fonction accepte un tableau comme deuxième paramètre, qui contient les arguments de la fonction.

Exemple :

function test() {
  var_dump(func_num_args());
  var_dump(func_get_args());
}

$params = [
  10,
  'glop',
  'test',
];

call_user_func_array('test', $params);

Ce code affichera :

int 3
array
  0 => int 10
  1 => string 'glop' (length=4)
  2 => string 'test' (length=4)

for Boucle

Une autre option consiste à utiliser une boucle for pour parcourir le tableau et transmettez chaque élément comme argument à la fonction.

Exemple :

function test($num1, $str1, $str2) {
  var_dump(func_get_args());
}

$params = [
  10,
  'glop',
  'test',
];

for ($i = 0; $i < count($params); $i++) {
  test($params[$i]);
}

Ce code affichera :

array(1) {
  [0] => int 10
}
array(1) {
  [0] => string 'glop' (length=4)
}
array(1) {
  [0] => string 'test' (length=4)
}

En utilisant ces techniques, vous pouvez appeler efficacement des fonctions PHP avec un nombre variable d'arguments en fonction de la longueur d'un tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn