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

Sni*_*ack 7 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的功能,$role->xpath只有在提供的对象是a时才可以SimpleXMLElement.任何人?

Riz*_*123 21

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

if($role instanceof SimpleXMLElement) {
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)


tho*_*mas 15

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

\n
    \n
  • $var instanceof TestClass:如果变量 $var 是指定类的对象(此处为:\n\xe2\x80\x9cTestClass\xe2\x80),则运算符 \xe2\x80\x9cinstanceof\xe2\x80\x9d 返回 true \x9d)。
  • \n
  • get_class($var):从 $var 返回类的名称,该名称可以与所需的类名称进行比较。
  • \n
  • is_object($var):检查变量 $var 是否是一个对象。
  • \n
\n

阅读更多内容如何检查对象是否是 PHP 中特定类的实例?

\n