L'opérateur instanceof

L'opérateur instanceof vérifie si un objet est une instance de la classe spécifiée ou de l'une de ses classes enfants. Il prend comme premier paramètre un objet, et comme deuxième - le nom de la classe à vérifier. Il renvoie true si l'objet appartient à la classe ou false dans le cas contraire.

Syntaxe

php$object instanceof ClassName;

Exemple

Vérifions si un objet est une instance de la classe MyClass :

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

Résultat de l'exécution du code :

phptrue

Exemple

Vérifions l'héritage des classes :

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

Résultat de l'exécution du code :

phptrue

Exemple

Vérifions qu'un objet n'est pas une instance d'une classe :

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

Résultat de l'exécution du code :

phpfalse

Voir aussi

  • la fonction get_class,
    qui retourne le nom de la classe d'un objet
  • la fonction is_a,
    qui vérifie l'appartenance d'un objet à une classe