Συνάρτηση call_user_func_array
Η συνάρτηση call_user_func_array επιτρέπει την κλήση ενός callback, περνώντας παραμέτρους σε μορφή πίνακα. Ως πρώτη παράμετρος περνάει το όνομα της συνάρτησης ή της μεθόδου, και ως δεύτερη - ο πίνακας ορισμάτων.
Σύνταξη
call_user_func_array(callable $callback, array $args);
Παράδειγμα
Κλήση απλής συνάρτησης με μεταβίβαση παραμέτρων μέσω πίνακα:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func_array('sum', [2, 3]);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
5
Παράδειγμα
Κλήση μεθόδου κλάσης με μεταβίβαση παραμέτρων:
<?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;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
20
Παράδειγμα
Χρήση με ανώνυμη συνάρτηση:
<?php
$func = function($a, $b, $c) {
return $a + $b + $c;
};
$res = call_user_func_array($func, [1, 2, 3]);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
6
Δείτε επίσης
-
τη συνάρτηση
call_user_func,
που καλεί μια callback-συνάρτηση με ξεχωριστά ορίσματα -
τη συνάρτηση
function_exists,
που ελέγχει την ύπαρξη μιας συνάρτησης