如何检查父类的实例?

use*_*675 4 php instanceof

在PHP中有两个类: class parentTroll {...}class troll extends parentTroll {...}

然后有一个对象 $troll = new troll();

怎么检查$troll instanceof parentTroll?此行现在返回false.

hsz*_*hsz 13

以下示例返回true:

class parentTroll {}
class troll extends parentTroll {}
$troll = new troll();

var_dump($troll instanceof parentTroll);
Run Code Online (Sandbox Code Playgroud)

输出:

boolean true
Run Code Online (Sandbox Code Playgroud)

您还可以使用ReflectionClass:

var_dump((new ReflectionClass($troll))->getParentClass()->getName() == 'parentTroll');
Run Code Online (Sandbox Code Playgroud)