is_a

Checks whether the object is of a given type or subtype

&reftitle.description; `bool` `is_a` `mixed` `object_or_class` `string` `class` `bool` `allow_string`&false;

Determines if the given `object_or_class` is the `class` object type, or has `class` as one of its supertypes.

&reftitle.parameters;

`object_or_class`

- A class name or an object instance.

`class`

- The class or interface name

`allow_string`

- If this parameter set to &false;, string class name as `object_or_class` is not allowed. This also prevents from calling autoloader if the class doesn't exist.

&reftitle.returnvalues;

Returns &true; if `object_or_class` is the `class` object type, or has `class` as one of its supertypes, &false; otherwise.

&reftitle.examples;

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

### Using the instanceof operator

    <?php
    if ($WF instanceof WidgetFactory) {
        echo 'Yes, $WF is a WidgetFactory';
    }
    ?>

&reftitle.seealso;

- `get_class`
- `get_parent_class`
- `is_subclass_of`