PHP 运算符:类型运算符 1 个改进

简介

instanceof 类型运算符:

  1. 对类使用 instanceof,用来确定一个变量是否属于某个类的实例;
  2. 对继承类使用 instanceof,用来确定一个变量是否是继承自某一父类的子类的实例;
  3. 使用 instanceof 检查对象不是某个类的实例;
  4. 对接口使用 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)

?>
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!