PHP - call_user_func_array ()

A função call_user_func_array () chama uma função do usuário fornecida com um array de parâmetros.

Sintaxe

mixed call_user_func_array( callback function [, array param_arr])

A função call_user_func_array () pode chamar uma função personalizada "função" com os parâmetros do "array param_arr".

Exemplo 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;
?>

Resultado

Hundreds and thousands of giraffes

Exemplo 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));
?>

Resultado

6000

Exemplo 3

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

Resultado

1

Exemplo 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
?>

Resultado

3
4