Функция 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,
    която проверява съществуването на функция