📅  最后修改于: 2023-12-03 14:57:14.541000             🧑  作者: Mango
在 PHP 中,我们可以使用 gettype()
函数来获取变量的类型,但是这个函数只能用于简单类型的变量,如字符串、整数、浮点数等等。如果想获取对象的类型,我们可以使用以下几种方法。
get_class()
get_class()
函数可以获取对象的类名,从而得到对象的类型。
class MyClass {}
$obj = new MyClass();
echo get_class($obj); // 输出 "MyClass"
instanceof
运算符instanceof
运算符可以判断一个对象是否属于某个类,从而得到对象的类型。
class MyClass {}
class MySubclass extends MyClass {}
$obj1 = new MyClass();
$obj2 = new MySubclass();
echo ($obj1 instanceof MyClass); // 输出 "1"
echo ($obj2 instanceof MyClass); // 输出 "1"
echo ($obj2 instanceof MySubclass); // 输出 "1"
gettype()
和 is_object()
当对象类型不为简单类型时,gettype()
函数返回的类型是 "object",我们可以结合 is_object()
函数来判断对象的类型。
class MyClass {}
$obj = new MyClass();
if (is_object($obj)) {
echo get_class($obj); // 输出 "MyClass"
}
ReflectionClass
ReflectionClass
类是 PHP 内置的反射类,可以用于获取类或对象的信息,包括类名、属性、方法等等。
class MyClass {}
$obj = new MyClass();
$reflection = new ReflectionClass($obj);
echo $reflection->getName(); // 输出 "MyClass"
以上就是获取对象类型的几种方法,根据不同的情况选择合适的方法即可。