最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PHP的instanceof详解及使用方法介绍
时间:2026-09-22 20:00:02 编辑:袖梨 来源:一聚教程网
instanceof函数用法
1、用来确定一个变量是否属于某个类的实例;
2、用来确定一个变量是否是继承自某一父类的子类的实例;
3、用来确定一个变量是否是实现了某个接口的对象的实例。
用法示例
【示例】使用 instanceof 判断一个对象是否属于某个类。
<?phpclass A{}class B{}$obj = new A;var_dump($obj instanceof A);echo '<br>';var_dump($obj instanceof B);?>运行结果如下:
bool(true)bool(false)
使用 instanceof 也可用来确定一个对象是不是继承自某个父类的子类
示例代码如下:
<?phpclass A{}class B extends A{}$obj = new B;var_dump($obj instanceof A);echo '<br>';var_dump($obj instanceof B);?>运行结果如下:
bool(true)bool(true)
instanceof 也可用于确定一个变量是不是实现了某个接口的对象的实例
示例代码如下:
<?phpinterface A{}class B implements A{}$obj = new B;var_dump($obj instanceof A);echo '<br>';var_dump($obj instanceof B);?>运行结果如下:
bool(true)bool(true)
虽然 instanceof 通常是直接与类名一起使用,但也可以使用字符串来代替
示例代码如下:
<?phpinterface A{}class B implements A{}$obj = new B;$str1 = 'A';$str2 = 'B';var_dump($obj instanceof A);echo '<br>';var_dump($obj instanceof B);echo '<br>';var_dump($obj instanceof $str1);echo '<br>';var_dump($obj instanceof $str2);?>运行结果如下:
bool(true)bool(true)bool(true)bool(true)
注意:使用字符串代替类名时,需要将字符串赋值给一个变量,直接使用字符串(例如 $obj instanceof 'A')是不行的。
如果被检测的变量不是对象,instanceof 并不会报错而是直接返回 FALSE。
另外,不能使用 instanceof 来检测常量。示例代码如下:
<?php$a = 1;$b = NULL;$c = imagecreate(5, 5);var_dump($a instanceof stdClass);echo '<br>';var_dump($b instanceof stdClass);echo '<br>';var_dump($c instanceof stdClass);echo '<br>';var_dump(FALSE instanceof stdClass);?>
运行结果如下:
bool(false)bool(false)bool(false)bool(false)
总结
instanceof函数是php5中新添的面向对象的函数。他主要的做用是 检测一个给定的对象是否属于(继承于)某个类(class)、某个类的子类、某个接口(interface)。若是是则返回true;反之返回false。
到此这篇关于PHP的instanceof详解及使用方法介绍的文章就介绍到这了,更多相关PHP关键字instanceof详解及使用内容请搜索一聚教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持一聚教程网!
相关文章
- php解决注册并发问题并提高QPS 09-22
- ThinkPHP5.0之底层运行原理执行流程分析 09-22
- php中关于token验证的相关问题详解 09-22
- phpstorm断点调试方法图文详解 09-22
- 使用Canal实现PHP应用程序与MySQL数据库的实时数据同步 09-22
- IIS+PHP添加对webp格式图像的支持配置方法 09-22