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