(PHP 4 >= 4.2.0, PHP 5, PHP 7)
is_a — Checks if the object is of this class or has this class as one of its parents
$object
   , string $class_name
   [, bool $allow_string = FALSE
  ] )
   Checks if the given object is of this class or has
   this class as one of its parents.
  
objectThe tested object
class_nameThe class name
allow_string
       If this parameter set to FALSE, string class name as object
       is not allowed. This also prevents from calling autoloader if the class doesn't exist.
      
   Returns TRUE if the object is of this class or has this class as one of
   its parents, FALSE otherwise.
  
| Version | Description | 
|---|---|
| 5.3.9 | Added allow_stringparameter | 
| 5.3.0 | This function is no longer deprecated, and will therefore 
        no longer throw E_STRICTwarnings. | 
| 5.0.0 | This function became deprecated in favour of the 
        instanceof 
        operator. Calling this function will result in an E_STRICTwarning. | 
Example #1 is_a() example
<?php
// define a class
class WidgetFactory
{
  var $oink = 'moo';
}
// create a new object
$WF = new WidgetFactory();
if (is_a($WF, 'WidgetFactory')) {
  echo "yes, \$WF is still a WidgetFactory\n";
}
?>
Example #2 Using the instanceof operator in PHP 5
<?php
if ($WF instanceof WidgetFactory) {
    echo 'Yes, $WF is a WidgetFactory';
}
?>