Funkcja call_user_func

Funkcja call_user_func pozwala wywołać dowolną funkcję callable, przekazując jej argumenty. Pierwszy parametr przyjmuje nazwę funkcji lub funkcję anonimową, kolejne parametry - argumenty dla wywoływanej funkcji.

Składnia

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

Przykład

Wywołajmy standardową funkcję strtoupper dla ciągu 'hello':

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

Wynik wykonania kodu:

php'HELLO'

Przykład

Wywołajmy funkcję użytkownika z kilkoma argumentami:

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

Wynik wykonania kodu:

php8

Przykład

Użycie funkcji anonimowej jako callback:

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

Wynik wykonania kodu:

php'Hello, John!'

Zobacz też