Συνάρτηση call_user_func_array

Η συνάρτηση call_user_func_array επιτρέπει την κλήση ενός callback, περνώντας παραμέτρους σε μορφή πίνακα. Ως πρώτη παράμετρος περνάει το όνομα της συνάρτησης ή της μεθόδου, και ως δεύτερη - ο πίνακας ορισμάτων.

Σύνταξη

phpcall_user_func_array(callable $callback, array $args);

Παράδειγμα

Κλήση απλής συνάρτησης με μεταβίβαση παραμέτρων μέσω πίνακα:

php<?php
  function sum($a, $b) {
    return $a + $b;
  }
  
  $res = call_user_func_array('sum', [2, 3]);
  echo $res;
?>

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

php5

Παράδειγμα

Κλήση μεθόδου κλάσης με μεταβίβαση παραμέτρων:

php<?php
  class Calculator {
    public function multiply($a, $b) {
      return $a * $b;
    }
  }
  
  $calc = new Calculator();
  $res = call_user_func_array([$calc, 'multiply'], [4, 5]);
  echo $res;
?>

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

php20

Παράδειγμα

Χρήση με ανώνυμη συνάρτηση:

php<?php
  $func = function($a, $b, $c) {
    return $a + $b + $c;
  };
  
  $res = call_user_func_array($func, [1, 2, 3]);
  echo $res;
?>

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

php6

Δείτε επίσης

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