関数 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,
クラスメソッドの存在をチェックします