Оператор 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,
    която проверява принадлежността на обект към клас