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