Funzione call_user_func_array

La funzione call_user_func_array permette di chiamare una callback, passando i parametri sotto forma di array. Il primo parametro è il nome della funzione o del metodo, il secondo è l'array degli argomenti.

Sintassi

phpcall_user_func_array(callable $callback, array $args);

Esempio

Chiamata di una funzione semplice con passaggio di parametri tramite array:

php<?php
  function sum($a, $b) {
    return $a + $b;
  }
  
  $res = call_user_func_array('sum', [2, 3]);
  echo $res;
?>

Risultato dell'esecuzione del codice:

php5

Esempio

Chiamata di un metodo di classe con passaggio di parametri:

php<?php
  class Calculator {
    public function multiply($a, $b) {
      return $a * $b;
    }
  }
  
  $calc = new Calculator();
  $res = call_user_func_array([$calc, 'multiply'], [4, 5]);
  echo $res;
?>

Risultato dell'esecuzione del codice:

php20

Esempio

Utilizzo con una funzione anonima:

php<?php
  $func = function($a, $b, $c) {
    return $a + $b + $c;
  };
  
  $res = call_user_func_array($func, [1, 2, 3]);
  echo $res;
?>

Risultato dell'esecuzione del codice:

php6

Vedi anche

  • la funzione call_user_func,
    che chiama una funzione callback con argomenti separati
  • la funzione function_exists,
    che verifica l'esistenza di una funzione