PHP |对象到其他类的对象的类型转换和转换
给定一个PHP类对象,任务是将这个对象转换或转换为另一个类的对象。
方法一:作为标准预定义类实例的对象可以转换为另一个标准类的对象。
例子:
输出:
int(1)
float(1)
float(1)
float(1)
int(1)
int(1)
bool(true)
bool(true)
string(1) "1"
array(1) {
[0]=>
string(1) "1"
}
object(stdClass)#1 (1) {
[0]=>
string(1) "1"
}
NULL
方法2:为final类创建一个构造函数,并添加一个foreach循环,用于将initial类的所有属性分配给final类的实例。
例子:
$value) {
$this->$property = $value;
}
}
}
// Initializing an object of class Geeks1
$object1 = new Geeks1();
// Printing original object of class Geeks1
print_r($object1);
// Initializing an object of class Geeks2
// using an object of class Geeks1
$object1 = new Geeks2($object1);
// Printing object of class Geeks2
print_r($object1);
?>
输出:
Geeks1 Object
(
[a] => geeksforgeeks
)
Geeks2 Object
(
[a] => geeksforgeeks
)
方法三:编写一个函数,使用serialize()方法将初始类的对象转化为序列化数据。使用 unserialize() 方法将此序列化数据反序列化为最终类的实例。
注意:使用这种方法不能转移成员函数。仅当初始类仅包含变量作为成员时,才能使用此方法。
例子:
输出:
Geeks1 Object
(
[a] => geeksforgeeks
)
Geeks2 Object
(
[a] => geeksforgeeks
)
注意:通常, PHP不允许用户定义类的类型转换,而转换/转换可以通过上述方法间接实现。