Funktionen is_callable
Funktionen is_callable kontrollerar om det överförda värdet kan anropas som en funktion.
Den returnerar true om värdet är:
- ett funktionsnamn som en sträng
- en array med ett objekt och ett metodnamn
- ett objekt med metoden
__invoke - en anonym funktion
Syntax
is_callable(
mixed $value,
bool $syntax_only = false,
string &$callable_name = null
): bool
Exempel
Kontroll av en vanlig funktion:
<?php
function test() {}
$res = is_callable('test');
var_dump($res);
?>
Resultat av kodkörning:
true
Exempel
Kontroll av en klassmetod:
<?php
class MyClass {
public function method() {}
}
$obj = new MyClass();
$res = is_callable([$obj, 'method']);
var_dump($res);
?>
Resultat av kodkörning:
true
Exempel
Kontroll av en icke-existerande funktion:
<?php
$res = is_callable('non_existent_function');
var_dump($res);
?>
Resultat av kodkörning:
false
Exempel
Kontroll av ett objekt med __invoke:
<?php
class Invokable {
public function __invoke() {}
}
$obj = new Invokable();
$res = is_callable($obj);
var_dump($res);
?>
Resultat av kodkörning:
true
Se även
-
funktionen
function_exists,
som kontrollerar existensen av en funktion -
funktionen
method_exists,
som kontrollerar existensen av en klassmetod