Аператар 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,
    якая правярае прыналежнасць аб'екта да класа