# is_a

(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

### Description

is_a ( mixed `$object` , string `$class_name` [, bool `$allow_string` = `FALSE` ] ) : bool

Checks if the given `object` is of this class or has this class as one of its parents.

### Parameters

`object`

  A class name or an object instance.

`class_name`

  The 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.

### Return Values

Returns `TRUE` if the object is of this class or has this class as one of its parents, `FALSE` otherwise.

### Changelog

Version | Description
--- | ---
5.3.9 | Added `allow_string` parameter
5.3.0 | This function is no longer deprecated, and will therefore no longer throw `E_STRICT` warnings.
5.0.0 | This function became deprecated in favour of the instanceof operator. Calling this function will result in an `E_STRICT` warning.

### Examples

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';
}
?>`

### See Also

- get_class() - Returns the name of the class of an object
- get_parent_class() - Retrieves the parent class name for object or class
- is_subclass_of() - Checks if the object has this class as one of its parents or implements it