Fonction call_user_func_array

La fonction call_user_func_array permet d'appeler une fonction de rappel, en passant les paramètres sous forme de tableau. Le premier paramètre est le nom de la fonction ou de la méthode, et le second est le tableau d'arguments.

Syntaxe

phpcall_user_func_array(callable $callback, array $args);

Exemple

Appel d'une fonction simple avec passage des paramètres via un tableau :

php<?php
  function sum($a, $b) {
    return $a + $b;
  }
  
  $res = call_user_func_array('sum', [2, 3]);
  echo $res;
?>

Résultat de l'exécution du code :

php5

Exemple

Appel d'une méthode de classe avec passage des paramètres :

php<?php
  class Calculator {
    public function multiply($a, $b) {
      return $a * $b;
    }
  }
  
  $calc = new Calculator();
  $res = call_user_func_array([$calc, 'multiply'], [4, 5]);
  echo $res;
?>

Résultat de l'exécution du code :

php20

Exemple

Utilisation avec une fonction anonyme :

php<?php
  $func = function($a, $b, $c) {
    return $a + $b + $c;
  };
  
  $res = call_user_func_array($func, [1, 2, 3]);
  echo $res;
?>

Résultat de l'exécution du code :

php6

Voir aussi

  • la fonction call_user_func,
    qui appelle une fonction de rappel avec des arguments individuels
  • la fonction function_exists,
    qui vérifie l'existence d'une fonction