is_a

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_aChecks whether the object is of a given type or subtype

Description

is_a(mixed $object_or_class, string $class, bool $allow_string = false): bool

Checks if the given object_or_class is of this object type or has this object type as one of its supertypes.

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.

Return Values

Returns true if the object is of this object type or has this object type as one of its supertypes, false otherwise.

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

<?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