ฟังก์ชัน is_callable

ฟังก์ชัน is_callable ตรวจสอบว่าค่าที่ส่งมาสามารถเรียกใช้งานเป็นฟังก์ชันได้หรือไม่ มันจะคืนค่า true หากค่าเป็น:

ไวยากรณ์

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,
    ซึ่งตรวจสอบการมีอยู่ของเมธอดคลาส