📜  PHP |对象到其他类的对象的类型转换和转换

📅  最后修改于: 2022-05-13 01:54:11.352000             🧑  作者: Mango

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不允许用户定义类的类型转换,而转换/转换可以通过上述方法间接实现。