Функцыя 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,
    якая выклікае зваротную функцыю з масівам параметраў
  • функцыю function_exists,
    якая правярае існаванне функцыі