Функция 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,
    которая возвращает интерфейсы класса