如何检查对象是否是特定类的实例?

2022-08-30 13:22:04

有没有办法检查一个对象是否是?SimpleXMLELement

private function output_roles($role) {
    foreach ($role as $current_role) {
        $role_ = $current_role->attributes();
        $role_type = (string) $role_->role;
        echo "<tr>";
        echo "<td><b>" . $role_type . "</b></td>";
        echo "</tr>";
        $roles = $role->xpath('//role[@role="Administrator"]//role[not(role)]');
        if (is_array($roles)) {
            $this->output_roles($roles);
        }
    }
}

这是我的函数,仅当提供的对象是 .任何人?$role->xpathSimpleXMLElement


答案 1

您可以检查对象是否是具有 instanceof 的类的实例,例如

if($role instanceof SimpleXMLElement) {
    //do stuff
}

答案 2

以下方法和运算符可用于确定特定变量是否为指定类的对象:

  • $var TestClass 的实例:如果变量 $var 是指定类的对象(此处为:“TestClass”),则运算符 “instanceof” 返回 true。
  • get_class($var):返回$var中的类名,该类名可与所需的类名进行比较。
  • is_object($var):检查变量$var是否为对象。

有关详细信息,请参阅如何检查对象是否是 PHP 中特定类的实例?


推荐