De instanceof Operator

De operator instanceof controleert of een object een instantie is van de opgegeven klasse of een erfgenaam ervan. Het eerste parameter accepteert een object, de tweede - de klassenaam om te controleren. Retourneert true als het object tot de klasse behoort of false in het tegenovergestelde geval.

Syntaxis

php$object instanceof ClassName;

Voorbeeld

Laten we controleren of een object een instantie is van de klasse MyClass:

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

Resultaat van het uitvoeren van de code:

phptrue

Voorbeeld

Laten we klasse-overerving controleren:

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

Resultaat van het uitvoeren van de code:

phptrue

Voorbeeld

Laten we controleren dat een object geen instantie is van een klasse:

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

Resultaat van het uitvoeren van de code:

phpfalse

Zie ook

  • de functie get_class,
    die de naam van de klasse van het object retourneert
  • de functie is_a,
    die controleert of een object tot een klasse behoort