Funkcija call_user_func

Funkcija call_user_func leidžia iškviesti bet kurią callable funkciją, perduodant jai argumentus. Pirmu parametru priima funkcijos pavadinimą arba anoniminę funkciją, tolesniais parametrais - argumentus iškviečiamai funkcijai.

Sintaksė

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

Pavyzdys

Iškvieskime standartinę funkciją strtoupper eilutei 'hello':

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

Kodo vykdymo rezultatas:

php'HELLO'

Pavyzdys

Iškvieskime vartotojo funkciją su keliais argumentais:

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

Kodo vykdymo rezultatas:

php8

Pavyzdys

Anoniminės funkcijos naudojimas kaip callback:

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

Kodo vykdymo rezultatas:

php'Hello, John!'

Taip pat žiūrėkite