Função call_user_func_array
A função call_user_func_array permite chamar um callback, passando parâmetros na forma de um array. O primeiro parâmetro é o nome da função ou método, e o segundo - o array de argumentos.
Sintaxe
call_user_func_array(callable $callback, array $args);
Exemplo
Chamando uma função simples passando parâmetros através de um array:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func_array('sum', [2, 3]);
echo $res;
?>
Resultado da execução do código:
5
Exemplo
Chamando um método de classe com passagem de parâmetros:
<?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;
?>
Resultado da execução do código:
20
Exemplo
Usando com uma função anônima:
<?php
$func = function($a, $b, $c) {
return $a + $b + $c;
};
$res = call_user_func_array($func, [1, 2, 3]);
echo $res;
?>
Resultado da execução do código:
6
Veja também
-
a função
call_user_func,
que chama uma função de callback com argumentos individuais -
a função
function_exists,
que verifica a existência de uma função