Функсияи 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,
    ки вуҷуд доштани функсияро месанҷад