是否可以确定对象是特定类的,而不是对象是父类还是该类?也就是说,只有当它是特定的类时才返回true,如果它是父类,则返回false。
例如:
class ExampleClass {
...
}
class ExampleClassExtension extends ExampleClass {
...
}
$a = new ExampleClass();
$b = new ExampleClassExtension();
var_dump($b instanceof ExampleClass) //Returns true as ExampleClassExtension is inherited from ExampleClass although I would like it to return false.有什么方法可以忽略继承,检查对象是否是特定的类,如果对象是父类或子类,或者只是不是的类,则返回false吗?
发布于 2022-06-07 12:48:38
如果要具体检查类是否等于某个类,则可以使用反射。
<?php
class ExampleClass {
public const A = 'a';
}
class ExampleClassExtension extends ExampleClass {
public const B = 'b';
}
$a = new ExampleClass();
$b = new ExampleClassExtension();
$reflectionClass = new ReflectionClass($b);
var_dump($reflectionClass->getName() === ExampleClass::class);https://stackoverflow.com/questions/72529347
复制相似问题