PHP 运算符:类型运算符
简介
instanceof 类型运算符:
- 对类使用 instanceof,用来确定一个变量是否属于某个类的实例;
- 对继承类使用 instanceof,用来确定一个变量是否是继承自某一父类的子类的实例;
- 使用 instanceof 检查对象不是某个类的实例;
- 对接口使用 instanceof,用来确定一个变量是否是实现了某个接口的对象的实例。
实例
1. 对类使用 instanceof
用来确定一个变量是否属于某个类的实例
<?php
class MyClass
{
}
class NotMyClass
{
}
$a = new MyClass;
var_dump($a instanceof MyClass);
//输出:bool(true) , $a 变量属于 MyClass 类
var_dump($a instanceof NotMyClass);
//输出:bool(false) , $a 变量不属于 NotMyClass 类
?>
2. 对继承类使用 instanceof
用来确定一个变量是否是继承自某一父类的子类的实例
<?php
class ParentClass
{
}
class MyClass extends ParentClass
{
}
$a = new MyClass;
var_dump($a instanceof MyClass);
//输出:bool(true) , $a 变量继承于 MyClass 类
var_dump($a instanceof ParentClass);
//输出:bool(true) , $a 变量继承于 MyClass 类的父类 ParentClass 类
?>
3. 使用 instanceof 检查对象不是某个类的实例
<?php
class MyClass
{
}
$a = new MyClass;
var_dump(!($a instanceof stdClass));
//输出:bool(true)
?>
4. 对接口使用 instanceof
用来确定一个变量是否是实现了某个接口的对象的实例。
<?php
interface MyInterface
{
}
class MyClass implements MyInterface
{
}
$a = new MyClass;
var_dump($a instanceof MyClass);
//输出:bool(true)
var_dump($a instanceof MyInterface);
//输出:bool(true)
?>