English | 简体中文 | 繁體中文
查询

Serializable::serialize()函数—用法及示例

「 将对象序列化为字符串 」


函数名称: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() 函数将序列化后的字符串反序列化为关联数组,并将其赋值给对象的属性。这样,我们就可以在需要时重新创建对象,并还原其属性。

补充纠错
热门PHP函数
分享链接