함수 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,
클래스 메서드의 존재를 확인하는 함수