Funcția call_user_func

Funcția call_user_func permite apelarea oricărei funcții callable, transmitându-i argumente. Primul parametru primește numele funcției sau o funcție anonimă, iar parametrii următori - argumentele pentru funcția apelată.

Sintaxă

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

Exemplu

Să apelăm funcția standard strtoupper pentru șirul 'hello':

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

Rezultatul executării codului:

php'HELLO'

Exemplu

Să apelăm o funcție definită de utilizator cu mai multe argumente:

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

Rezultatul executării codului:

php8

Exemplu

Utilizarea unei funcții anonime ca callback:

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

Rezultatul executării codului:

php'Hello, John!'

Vedeți și