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
call_user_func_array(callable $callback, array $args);
Esempio
Chiamata di una funzione semplice con passaggio di parametri tramite array:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func_array('sum', [2, 3]);
echo $res;
?>
Risultato dell'esecuzione del codice:
5
Esempio
Chiamata di un metodo di classe con passaggio di parametri:
<?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:
20
Esempio
Utilizzo con una funzione anonima:
<?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:
6
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