Funktio call_user_func

Funktio call_user_func mahdollistaa minkä tahansa callable-funktion kutsun välittämällä sille argumentteja. Se ottaa ensimmäisenä parametrina funktion nimen tai anonyymin funktion, ja seuraavina parametreina kutsuttavalle funktiolle tarkoitettuja argumentteja.

Syntaksi

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

Esimerkki

Kutsutaan standardifunktiota strtoupper merkkijonolle 'hello':

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

Koodin suorituksen tulos:

php'HELLO'

Esimerkki

Kutsutaan käyttäjän määrittelemää funktiota useammalla argumentilla:

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

Koodin suorituksen tulos:

php8

Esimerkki

Anonyymin funktion käyttö callbackina:

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

Koodin suorituksen tulos:

php'Hello, John!'

Katso myös