溫馨提示×

PHP對象序列化與反序列化怎么實(shí)現(xiàn)

PHP
小億
93
2024-04-29 17:05:45
欄目: 編程語言

在PHP中,可以使用serialize()函數(shù)將對象序列化為字符串,使用unserialize()函數(shù)將字符串反序列化為對象。

示例代碼如下:

class Person {
    public $name;
    public $age;

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

// 創(chuàng)建一個(gè)Person對象
$person = new Person('John', 30);

// 將對象序列化為字符串
$serializedPerson = serialize($person);

echo $serializedPerson . "\n";

// 將字符串反序列化為對象
$unserializedPerson = unserialize($serializedPerson);

var_dump($unserializedPerson);

運(yùn)行上面的代碼,會輸出以下結(jié)果:

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()函數(shù)將對象序列化為字符串,字符串中包含了對象的類名和屬性值;unserialize()函數(shù)將字符串反序列化為對象,并返回一個(gè)新的對象。

0