array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'function.is-a.php', 1 => 'is_a', ), 'up' => array ( 0 => 'ref.classobj.php', 1 => 'Classes/Object Functions', ), 'prev' => array ( 0 => 'function.interface-exists.php', 1 => 'interface_exists', ), 'next' => array ( 0 => 'function.is-subclass-of.php', 1 => 'is_subclass_of', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/classobj/functions/is-a.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
is_a — Checks whether the object is of a given type or subtype
Determines if the given object_or_class
is the
class
object type,
or has class
as one of its supertypes.
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.
Returns true
if object_or_class
is the
class
object type,
or has class
as one of its supertypes, false
otherwise.
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';
}
?>