PHP - call_user_func_array ()

La función call_user_func_array () llama a una función de usuario dada con una matriz de parámetros.

Sintaxis

mixed call_user_func_array( callback function [, array param_arr])

La función call_user_func_array () puede llamar a una función personalizada "función" con los parámetros de "param_arr array".

Ejemplo 1

<?php
    $func = "str_replace";
    $params = array("monkeys", "giraffes", "Hundreds and thousands of monkeys\n");
    $output_array = call_user_func_array($func, $params);
    echo $output_array;
?>

Salida

Hundreds and thousands of giraffes

Ejemplo 2

<?php
   function Box($width,$height, $depth) {
      $b = $width*$height*$depth;
      echo $b;
   }
   call_user_func_array("Box", array("width" => 10, "height" => 20, "depth" => 30));
?>

Salida

6000

Ejemplo 3

<?php
   error_reporting(E_ALL);
   function increment(&$var) {
      $var++;
   }
 
   $a = 0;
   call_user_func_array("increment", array(&$a));
   echo $a."\n";
?>

Salida

1

Ejemplo 4

<?php 
   function func($a, $b){
      echo $a."\r\n";
      echo $b."\r\n";
   }
 
   call_user_func_array("func", array(3, 4)); // Different from call_user_func, only the way the parameters are passed is different
?>

Salida

3
4