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