Operatore instanceof

L'operatore instanceof verifica se un oggetto è un'istanza della classe specificata o di un suo erede. Come primo parametro accetta un oggetto, come secondo - il nome della classe da verificare. Restituisce true se l'oggetto appartiene alla classe o false in caso contrario.

Sintassi

php$object instanceof ClassName;

Esempio

Verifichiamo se l'oggetto è un'istanza della classe MyClass:

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

Risultato dell'esecuzione del codice:

phptrue

Esempio

Verifichiamo l'ereditarietà delle classi:

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

Risultato dell'esecuzione del codice:

phptrue

Esempio

Verifichiamo che l'oggetto non sia un'istanza della classe:

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

Risultato dell'esecuzione del codice:

phpfalse

Vedi anche

  • la funzione get_class,
    che restituisce il nome della classe dell'oggetto
  • la funzione is_a,
    che verifica l'appartenenza di un oggetto a una classe