Operador instanceof

O operador instanceof verifica se um objeto é uma instância da classe especificada ou de seu herdeiro. O primeiro parâmetro recebe o objeto, o segundo - o nome da classe para verificação. Retorna true se o objeto pertence à classe ou false caso contrário.

Sintaxe

php$object instanceof ClassName;

Exemplo

Vamos verificar se o objeto é uma instância da classe MyClass:

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

Resultado da execução do código:

phptrue

Exemplo

Vamos verificar a herança de classes:

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

Resultado da execução do código:

phptrue

Exemplo

Vamos verificar que o objeto não é uma instância da classe:

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

Resultado da execução do código:

phpfalse

Veja também

  • a função get_class,
    que retorna o nome da classe do objeto
  • a função is_a,
    que verifica a pertinência de um objeto a uma classe