函数名称:Serializable::serialize()
适用版本:PHP 5, PHP 7
函数描述:Serializable::serialize() 方法用于将对象序列化为字符串。
语法:public string Serializable::serialize ( void )
参数:无
返回值:返回一个包含序列化对象的字符串。
示例:
class Person implements Serializable {
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function serialize() {
return serialize([
'name' => $this->name,
'age' => $this->age
]);
}
public function unserialize($data) {
$data = unserialize($data);
$this->name = $data['name'];
$this->age = $data['age'];
}
}
$person = new Person('John Doe', 30);
$serialized = $person->serialize();
echo $serialized;
输出结果:
O:6:"Person":2:{s:4:"name";s:8:"John Doe";s:3:"age";i:30;}
在上面的示例中,我们定义了一个实现了 Serializable 接口的 Person 类。该类具有 serialize()
方法,用于将对象的属性序列化为一个字符串。在 serialize()
方法中,我们使用 serialize()
函数将对象属性以关联数组的形式进行序列化,并返回序列化后的字符串。
然后,我们创建了一个 Person 对象,并调用 serialize()
方法将其序列化为字符串。最后,我们使用 echo
输出了序列化后的字符串。
注意:为了正确地序列化和反序列化对象,我们还需要实现 unserialize()
方法。在该方法中,我们使用 unserialize()
函数将序列化后的字符串反序列化为关联数组,并将其赋值给对象的属性。这样,我们就可以在需要时重新创建对象,并还原其属性。