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

phpcall_user_func(callable $callback, mixed ...$args): mixed

Exemplo

Vamos chamar a função padrão strtoupper para a string 'hello':

php<?php
  $res = call_user_func('strtoupper', 'hello');
  echo $res;
?>

Resultado da execução do código:

php'HELLO'

Exemplo

Vamos chamar uma função definida pelo usuário com vários argumentos:

php<?php
  function sum($a, $b) {
    return $a + $b;
  }
  
  $res = call_user_func('sum', 5, 3);
  echo $res;
?>

Resultado da execução do código:

php8

Exemplo

Usando uma função anônima como callback:

php<?php
  $res = call_user_func(function($name) {
    return "Hello, $name!";
  }, 'John');
  echo $res;
?>

Resultado da execução do código:

php'Hello, John!'

Veja também