Operátor instanceof

Operátor instanceof kontroluje, zda je objekt instancí zadané třídy nebo jejího dědice. Jako první parametr přijímá objekt, jako druhý - název třídy pro kontrolu. Vrátí true, pokud objekt patří do třídy, nebo false v opačném případě.

Syntaxe

php$object instanceof ClassName;

Příklad

Zkontrolujeme, zda je objekt instancí třídy MyClass:

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

Výsledek provedení kódu:

phptrue

Příklad

Zkontrolujeme dědění tříd:

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

Výsledek provedení kódu:

phptrue

Příklad

Zkontrolujeme, že objekt není instancí třídy:

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

Výsledek provedení kódu:

phpfalse

Viz také

  • funkci get_class,
    která vrací název třídy objektu
  • funkci is_a,
    která kontroluje příslušnost objektu ke třídě