什么时候" get_class等于"和" instanceof"?不一样

时间:2016-10-07 08:14:17

标签: php

我有一些代码:

get_class($foo) == Bar::class

与:

不同
$foo instanceof Bar::class

这可能是什么原因?

1 个答案:

答案 0 :(得分:6)

对象是instanceof给定的 C ,如果是:

  • 确切类 C
  • 的对象
  • extends班级 C 或其中任何孩子的班级对象
  • implements给定界面 C 或其中任何子项的类的对象

get_class只会与第一种情况相同,如果它完全那个类,因为它会比较类的名称,而不是它的遗产。它不匹配子类或接口。