📜  获取对象类型 php (1)

📅  最后修改于: 2023-12-03 14:57:14.541000             🧑  作者: Mango

获取对象类型 PHP

在 PHP 中,我们可以使用 gettype() 函数来获取变量的类型,但是这个函数只能用于简单类型的变量,如字符串、整数、浮点数等等。如果想获取对象的类型,我们可以使用以下几种方法。

1. 使用 get_class()

get_class() 函数可以获取对象的类名,从而得到对象的类型。

class MyClass {}
$obj = new MyClass();
echo get_class($obj);  // 输出 "MyClass"
2. 使用 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"
3. 使用 gettype()is_object()

当对象类型不为简单类型时,gettype() 函数返回的类型是 "object",我们可以结合 is_object() 函数来判断对象的类型。

class MyClass {}
$obj = new MyClass();
if (is_object($obj)) {
    echo get_class($obj);  // 输出 "MyClass"
}
4. 使用 ReflectionClass

ReflectionClass 类是 PHP 内置的反射类,可以用于获取类或对象的信息,包括类名、属性、方法等等。

class MyClass {}
$obj = new MyClass();
$reflection = new ReflectionClass($obj);
echo $reflection->getName();  // 输出 "MyClass"

以上就是获取对象类型的几种方法,根据不同的情况选择合适的方法即可。