Operator instanceof

Operator instanceof sprawdza, czy obiekt jest instancją określonej klasy lub jej dziedziczącą. Jako pierwszy parametr przyjmuje obiekt, drugi - nazwę klasy do sprawdzenia. Zwraca true jeśli obiekt należy do klasy lub false w przeciwnym przypadku.

Składnia

php$object instanceof ClassName;

Przykład

Sprawdźmy, czy obiekt jest instancją klasy MyClass:

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

Wynik wykonania kodu:

phptrue

Przykład

Sprawdźmy dziedziczenie klas:

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

Wynik wykonania kodu:

phptrue

Przykład

Sprawdźmy, że obiekt nie jest instancją klasy:

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

Wynik wykonania kodu:

phpfalse

Zobacz też

  • funkcję get_class,
    która zwraca nazwę klasy obiektu
  • funkcję is_a,
    która sprawdza przynależność obiektu do klasy