Funzione is_a

La funzione is_a accetta un oggetto e un nome di classe, restituendo true se l'oggetto è un'istanza di quella classe o di una sua sottoclasse. Un terzo parametro permette di specificare se considerare l'ereditarietà (di default true).

Sintassi

phpis_a(object, class_name, allow_string = true);

Esempio

Verifichiamo se l'oggetto appartiene alla classe stdClass:

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

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

Risultato dell'esecuzione del codice:

phptrue

Esempio

Verifichiamo il funzionamento con le interfacce:

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

Risultato dell'esecuzione del codice:

phptrue

Vedi anche

  • la funzione is_subclass_of,
    che verifica l'ereditarietà
  • l'operatore instanceof,
    operatore di verifica dell'istanza
  • la funzione get_class,
    che restituisce la classe dell'oggetto
  • la funzione class_implements,
    che restituisce le interfacce della classe