ฟังก์ชัน is_callable
ฟังก์ชัน is_callable ตรวจสอบว่าค่าที่ส่งมาสามารถเรียกใช้งานเป็นฟังก์ชันได้หรือไม่
มันจะคืนค่า true หากค่าเป็น:
- ชื่อฟังก์ชันในรูปแบบสตริง
- อาเรย์ที่มีอ็อบเจ็กต์และชื่อเมธอด
- อ็อบเจ็กต์ที่มีเมธอด
__invoke - ฟังก์ชันนิรนาม
ไวยากรณ์
phpis_callable(
mixed $value,
bool $syntax_only = false,
string &$callable_name = null
): bool
ตัวอย่าง
การตรวจสอบฟังก์ชันทั่วไป:
php<?php
function test() {}
$res = is_callable('test');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
phptrue
ตัวอย่าง
การตรวจสอบเมธอดของคลาส:
php<?php
class MyClass {
public function method() {}
}
$obj = new MyClass();
$res = is_callable([$obj, 'method']);
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
phptrue
ตัวอย่าง
การตรวจสอบฟังก์ชันที่ไม่มีอยู่:
php<?php
$res = is_callable('non_existent_function');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
phpfalse
ตัวอย่าง
การตรวจสอบอ็อบเจ็กต์ที่มี __invoke:
php<?php
class Invokable {
public function __invoke() {}
}
$obj = new Invokable();
$res = is_callable($obj);
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
phptrue
ดูเพิ่มเติม
-
ฟังก์ชัน
function_exists,
ซึ่งตรวจสอบการมีอยู่ของฟังก์ชัน -
ฟังก์ชัน
method_exists,
ซึ่งตรวจสอบการมีอยู่ของเมธอดคลาส