Operatören instanceof

Operatören instanceof kontrollerar om ett objekt är en instans av den angivna klassen eller dess arvtagare. Den tar ett objekt som första parameter och klassnamnet för kontrollen som andra parameter. Returnerar true om objektet tillhör klassen eller false om det inte gör det.

Syntax

php$object instanceof ClassName;

Exempel

Låt oss kontrollera om ett objekt är en instans av klassen MyClass:

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

Resultat av kodens exekvering:

phptrue

Exempel

Låt oss kontrollera arv mellan klasser:

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

Resultat av kodens exekvering:

phptrue

Exempel

Låt oss kontrollera att ett objekt *inte* är en instans av en klass:

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

Resultat av kodens exekvering:

phpfalse

Se även

  • funktionen get_class,
    som returnerar namnet på ett objekts klass
  • funktionen is_a,
    som kontrollerar ett objekts tillhörighet till en klass