PHP面向对象(九)- 类型运算符 instanceof

用于确定一个 PHP 变量是否属于某一类 class 的实例

//例:对类使用instanceof
class Test1 {
	
}
class Test2 {
	
}
$t1 = new Test1;
var_dump($t1 instanceof Test1);   //bool(true)
var_dump($t1 instanceof Test2);   //bool(false)

也可用来确定一个变量是不是继承自某一父类的子类的实例

//例:对继承类使用instanceof
class Test3 {
	
}
class Test4 extends Test3 {
	
}
$t2 = new Test4;
var_dump($t2 instanceof Test3);   //bool(true)
var_dump($t2 instanceof Test4);   //bool(true)

也可用于确定一个变量是不是实现了某个接口的对象的实例

interface Test {
	
}
class Test6 implements Test {
	
}
$t3 = new Test6;
var_dump($t3 instanceof Test6);   //bool(true)
var_dump($t3 instanceof Test);   //bool(true)

虽然 instanceof 通常直接与类名一起使用,但也可以使用对象或字符串变量

interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;
$b = new MyClass;
$c = 'MyClass';
$d = 'NotMyClass';
var_dump($a instanceof $b); // $b is an object of class MyClass  //bool(true)
var_dump($a instanceof $c); // $c is a string 'MyClass'       //bool(true)
var_dump($a instanceof $d); // $d is a string 'NotMyClass'   //bool(false)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值