Operátor instanceof

Operátor instanceof kontroluje, či je objekt inštanciou zadanej triedy alebo jej dediča. Prvým parametrom prijíma objekt, druhým - názov triedy na kontrolu. Vracia true ak objekt patrí do triedy alebo false v opačnom prípade.

Syntax

php$object instanceof ClassName;

Príklad

Skontrolujeme, či je objekt inštanciou triedy MyClass:

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

Výsledok vykonania kódu:

phptrue

Príklad

Skontrolujeme dedenie tried:

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

Výsledok vykonania kódu:

phptrue

Príklad

Skontrolujeme, že objekt nie je inštanciou triedy:

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

Výsledok vykonania kódu:

phpfalse

Pozri tiež

  • funkciu get_class,
    ktorá vracia názov triedy objektu
  • funkciu is_a,
    ktorá kontroluje príslušnosť objektu k triede