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

时间:2015-05-19 16:34:54

标签: php simplexml

有没有办法检查某个对象是否为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->xpath只有在提供的对象为SimpleXMLElement时才可用。任何人吗?

2 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分:2)

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

  • $ var TestClass的实例:如果“ instanceof”运算符返回true 变量$ var是指定类的对象(这里是: “ TestClass”)。
  • get_class($ var):从$ var返回类的名称,该名称可以 与所需的班级名称进行比较。
  • is_object($ var):检查变量$ var是否是对象。

How to check if an object is an instance of a specific class in PHP?中阅读更多内容