首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP instanceof 操作符:判断对象类型与继承关系的标准用法

     編輯:PHP 綜合知識

instanceof 是 PHP 判断对象是否为某类实例、或实现某接口、或继承自某父类的核心操作符。本文给出最简示例与进阶用法。

基础语法

进阶场景

  • 接口判断:$obj instanceof MyInterface
  • 父类判断:$child instanceof ParentClass 返回 true
  • 变量类名:$class = 'Thread'; $th instanceof $class(PHP 5.0+)
  • 非对象变量:直接用于非对象返回 false,不报错
  • 否定判断:!($obj instanceof ClassName) 或 $obj instanceof ClassName === false

对比:get_class() 与 is_a()

函数/操作符用途是否触发自动加载
instanceof类型判断(推荐)否
is_a($obj, 'ClassName')同 instanceof,旧版兼容否(PHP 5.3.7+)
get_class($obj) === 'ClassName'精确类名比较,不考虑继承否

日常开发中,instanceof 语义最清晰、性能最优,首选用于类型守卫、依赖注入检查、多态分发等场景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved