Функция call_user_func

Функция call_user_func позволяет вызвать любую callable-функцию, передав ей аргументы. Первым параметром принимает имя функции или анонимную функцию, последующими параметрами - аргументы для вызываемой функции.

Синтаксис

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

Пример

Вызовем стандартную функцию strtoupper для строки 'hello':

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

Результат выполнения кода:

php'HELLO'

Пример

Вызовем пользовательскую функцию с несколькими аргументами:

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

Результат выполнения кода:

php8

Пример

Использование анонимной функции в качестве коллбэка:

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

Результат выполнения кода:

php'Hello, John!'

Смотрите также

  • функцию call_user_func_array,
    которая вызывает callback-функцию с массивом параметров
  • функцию function_exists,
    которая проверяет существование функции