Operatorių instanceof

Operatorių instanceof patikrina, ar objektas yra nurodytos klasės egzempliorius ar jos įpėdinis. Pirmu parametru priima objektą, antru - klasės pavadinimą patikrinimui. Grąžina true, jei objektas priklauso klasei, arba false priešingu atveju.

Sintaksė

php$object instanceof ClassName;

Pavyzdys

Patikrinkime, ar objektas yra klasės MyClass egzempliorius:

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

Kodo vykdymo rezultatas:

phptrue

Pavyzdys

Patikrinkime klasių paveldėjimą:

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

Kodo vykdymo rezultatas:

phptrue

Pavyzdys

Patikrinkime, kad objektas nėra klasės egzempliorius:

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

Kodo vykdymo rezultatas:

phpfalse

Taip pat žiūrėkite

  • funkciją get_class,
    kuri grąžina objekto klasės pavadinimą
  • funkciją is_a,
    kuri patikrina objekto priklausymą klasei