is_a

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

is_a检查对象是否属于一个给定的类型或子类型。

说明

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

确定指定 object_or_class 是否是 class 对象类型,或者是否将 class 作为其中一个超类(父类)。

参数

object_or_class

类名或者实例对象。

class

类名或接口名。

allow_string

如果本参数设置为 falseobject_or_class 就不允许传入字符串类名。 这也会在类不存在时,阻止调用自动加载器(autoloader)。

返回值

如果 object_or_classclass 对象类型,或者 class 是其中一个超类(父类),则返回 true,否则返回 false

示例

示例 #1 is_a() 示例

<?php
// 定义类
class WidgetFactory
{
var
$oink = 'moo';
}

// 创建新对象
$WF = new WidgetFactory();

if (
is_a($WF, 'WidgetFactory')) {
echo
"yes, \$WF is still a WidgetFactory\n";
}
?>

示例 #2 使用 instanceof 运算符

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

参见