PHP - call_user_func_array ()
La funzione call_user_func_array () chiama una funzione utente fornita con un array di parametri.
Sintassi
mixed call_user_func_array( callback function [, array param_arr])
La funzione call_user_func_array () può chiamare una funzione personalizzata "function" con i parametri da "param_arr array".
Esempio 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;
?>
Produzione
Hundreds and thousands of giraffes
Esempio 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));
?>
Produzione
6000
Esempio 3
<?php
error_reporting(E_ALL);
function increment(&$var) {
$var++;
}
$a = 0;
call_user_func_array("increment", array(&$a));
echo $a."\n";
?>
Produzione
1
Esempio 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
?>
Produzione
3
4