Fonction is_a

La fonction is_a prend un objet et un nom de classe, et retourne true si l'objet est une instance de cette classe ou de son descendant. Un troisième paramètre permet de spécifier si l'héritage doit être pris en compte (par défaut true).

Syntaxe

phpis_a(object, class_name, allow_string = true);

Exemple

Vérifions si l'objet appartient à la classe stdClass :

php<?php
  $obj = new stdClass();
  var_dump(is_a($obj, 'stdClass'));
?>

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(is_a($child, 'ParentClass'));
?>

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

phptrue

Exemple

Vérifions le fonctionnement avec les interfaces :

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}
  
  $obj = new MyClass();
  var_dump(is_a($obj, 'MyInterface'));
?>

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

phptrue

Voir aussi

  • la fonction is_subclass_of,
    qui vérifie l'héritage
  • la fonction instanceof,
    l'opérateur de vérification d'instance
  • la fonction get_class,
    qui retourne la classe de l'objet
  • la fonction class_implements,
    qui retourne les interfaces de la classe