PHP

PHP对象序列化与反序列化怎么实现

小亿
92
2024-04-29 17:05:45
栏目: 编程语言

在PHP中,可以使用serialize()函数将对象序列化为字符串,使用unserialize()函数将字符串反序列化为对象。

示例代码如下:

class Person {
    public $name;
    public $age;

    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

// 创建一个Person对象
$person = new Person('John', 30);

// 将对象序列化为字符串
$serializedPerson = serialize($person);

echo $serializedPerson . "\n";

// 将字符串反序列化为对象
$unserializedPerson = unserialize($serializedPerson);

var_dump($unserializedPerson);

运行上面的代码,会输出以下结果:

O:6:"Person":2:{s:4:"name";s:4:"John";s:3:"age";i:30;}
object(Person)#2 (2) {
  ["name"]=>
  string(4) "John"
  ["age"]=>
  int(30)
}

可以看到,serialize()函数将对象序列化为字符串,字符串中包含了对象的类名和属性值;unserialize()函数将字符串反序列化为对象,并返回一个新的对象。

0
看了该问题的人还看了