Η συνάρτηση is_callable
Η συνάρτηση is_callable ελέγχει αν η τιμή που μεταβιβάστηκε μπορεί να κληθεί ως συνάρτηση.
Επιστρέφει true, εάν η τιμή είναι:
- όνομα συνάρτησης σε μορφή συμβολοσειράς
- πίνακας με αντικείμενο και όνομα μεθόδου
- αντικείμενο με μέθοδο
__invoke - ανώνυμη συνάρτηση
Σύνταξη
is_callable(
mixed $value,
bool $syntax_only = false,
string &$callable_name = null
): bool
Παράδειγμα
Έλεγχος συνηθισμένης συνάρτησης:
<?php
function test() {}
$res = is_callable('test');
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
true
Παράδειγμα
Έλεγχος μεθόδου κλάσης:
<?php
class MyClass {
public function method() {}
}
$obj = new MyClass();
$res = is_callable([$obj, 'method']);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
true
Παράδειγμα
Έλεγχος ανύπαρκτης συνάρτησης:
<?php
$res = is_callable('non_existent_function');
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
false
Παράδειγμα
Έλεγχος αντικειμένου με __invoke:
<?php
class Invokable {
public function __invoke() {}
}
$obj = new Invokable();
$res = is_callable($obj);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
true
Δείτε επίσης
-
τη συνάρτηση
function_exists,
που ελέγχει την ύπαρξη συνάρτησης -
τη συνάρτηση
method_exists,
που ελέγχει την ύπαρξη μεθόδου κλάσης