Συνάρτηση 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

Παράδειγμα

Χρήση ανώνυμης συνάρτησης ως callback:

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

Αποτέλεσμα εκτέλεσης του κώδικα:

php'Hello, John!'

Δείτε επίσης

  • τη συνάρτηση call_user_func_array,
    που καλεί μια callback-συνάρτηση με πίνακα παραμέτρων
  • τη συνάρτηση function_exists,
    που ελέγχει την ύπαρξη μιας συνάρτησης