Оператор instanceof

Оператор instanceof проверяет, является ли объект экземпляром указанного класса или его наследника. Первым параметром принимает объект, вторым - имя класса для проверки. Возвращает true если объект принадлежит классу или false в противном случае.

Синтаксис

php$object instanceof ClassName;

Пример

Проверим, является ли объект экземпляром класса MyClass:

php<?php
  class MyClass {}
  $obj = new MyClass();
  var_dump($obj instanceof MyClass);
?>

Результат выполнения кода:

phptrue

Пример

Проверим наследование классов:

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

Результат выполнения кода:

phptrue

Пример

Проверим, что объект не является экземпляром класса:

php<?php
  class A {}
  class B {}
  
  $a = new A();
  var_dump($a instanceof B);
?>

Результат выполнения кода:

phpfalse

Смотрите также

  • функцию get_class,
    которая возвращает имя класса объекта
  • функцию is_a,
    которая проверяет принадлежность объекта к классу