instanceof 是 PHP 判断对象是否为某类实例、或实现某接口、或继承自某父类的核心操作符。本文给出最简示例与进阶用法。
$obj instanceof MyInterface$child instanceof ParentClass 返回 true$class = 'Thread'; $th instanceof $class(PHP 5.0+)!($obj instanceof ClassName) 或 $obj instanceof ClassName === false| 函数/操作符 | 用途 | 是否触发自动加载 |
|---|---|---|
| instanceof | 类型判断(推荐) | 否 |
| is_a($obj, 'ClassName') | 同 instanceof,旧版兼容 | 否(PHP 5.3.7+) |
| get_class($obj) === 'ClassName' | 精确类名比较,不考虑继承 | 否 |
日常开发中,instanceof 语义最清晰、性能最优,首选用于类型守卫、依赖注入检查、多态分发等场景。