Função call_user_func
A função call_user_func permite chamar qualquer função callable, passando argumentos para ela. O primeiro parâmetro aceita o nome da função ou uma função anônima, e os parâmetros subsequentes são os argumentos para a função que está sendo chamada.
Sintaxe
call_user_func(callable $callback, mixed ...$args): mixed
Exemplo
Vamos chamar a função padrão strtoupper para a string 'hello':
<?php
$res = call_user_func('strtoupper', 'hello');
echo $res;
?>
Resultado da execução do código:
'HELLO'
Exemplo
Vamos chamar uma função definida pelo usuário com vários argumentos:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func('sum', 5, 3);
echo $res;
?>
Resultado da execução do código:
8
Exemplo
Usando uma função anônima como callback:
<?php
$res = call_user_func(function($name) {
return "Hello, $name!";
}, 'John');
echo $res;
?>
Resultado da execução do código:
'Hello, John!'
Veja também
-
a função
call_user_func_array,
que chama uma função de callback com um array de parâmetros -
a função
function_exists,
que verifica a existência de uma função