ฟังก์ชัน is_a

ฟังก์ชัน is_a รับวัตถุและชื่อคลาส คืนค่า true ถ้าวัตถุเป็นอินสแตนซ์ของคลาสนั้นหรือคลาสลูกหลานของมัน พารามิเตอร์ที่สามสามารถระบุได้ว่าต้องการพิจารณาการสืบทอดหรือไม่ (ค่าเริ่มต้นคือ true)

ไวยากรณ์

phpis_a(object, class_name, allow_string = true);

ตัวอย่าง

มาตรวจสอบว่าวัตถุเป็นของคลาส stdClass หรือไม่:

php<?php
  $obj = new stdClass();
  var_dump(is_a($obj, 'stdClass'));
?>

ผลลัพธ์จากการรันโค้ด:

phptrue

ตัวอย่าง

มาตรวจสอบการสืบทอดคลาส:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}
  
  $child = new ChildClass();
  var_dump(is_a($child, 'ParentClass'));
?>

ผลลัพธ์จากการรันโค้ด:

phptrue

ตัวอย่าง

มาตรวจสอบการทำงานกับอินเทอร์เฟซ:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}
  
  $obj = new MyClass();
  var_dump(is_a($obj, 'MyInterface'));
?>

ผลลัพธ์จากการรันโค้ด:

phptrue

ดูเพิ่มเติม

  • ฟังก์ชัน is_subclass_of,
    ซึ่งตรวจสอบการสืบทอด
  • ฟังก์ชัน instanceof,
    โอเปอเรเตอร์ตรวจสอบอินสแตนซ์
  • ฟังก์ชัน get_class,
    ซึ่งคืนค่าคลาสของวัตถุ
  • ฟังก์ชัน class_implements,
    ซึ่งคืนค่าอินเทอร์เฟซของคลาส