Operātors instanceof

Operators instanceof pārbauda, vai objekts ir norādītās klases instances vai tās mantinieka. Kā pirmo parametru pieņem objektu, otro - klases nosaukumu pārbaudei. Atgriež true, ja objekts pieder klasei, vai false pretējā gadījumā.

Sintakse

php$object instanceof ClassName;

Piemērs

Pārbaudīsim, vai objekts ir klases MyClass instances:

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

Koda izpildes rezultāts:

phptrue

Piemērs

Pārbaudīsim kādu mantošanu:

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

Koda izpildes rezultāts:

phptrue

Piemērs

Pārbaudīsim, ka objekts nav klases instances:

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

Koda izpildes rezultāts:

phpfalse

Skatiet arī

  • funkciju get_class,
    kas atgriež objekta klases nosaukumu
  • funkciju is_a,
    kas pārbauda objekta piederību klasei