在 PHP 中,你可以使用 serialize 和 unserialize 函数来实现序列化和反序列化操作。这对于在不同页面或应用程序之间传递和保存复杂的数据结构是非常有用的。

序列化(serialize):
$data = array(
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
);

$serialized_data = serialize($data);
file_put_contents('data.txt', $serialized_data);

在上述例子中,serialize 函数将关联数组 $data 转换为字符串,并将其保存到名为 data.txt 的文件中。

反序列化(unserialize):
$serialized_data = file_get_contents('data.txt');
$unserialized_data = unserialize($serialized_data);

print_r($unserialized_data);

在这个例子中,file_get_contents 用于读取之前保存的序列化字符串,然后使用 unserialize 函数将其还原为原始的 PHP 数据结构。

请注意,serialize 和 unserialize 函数不仅限于数组,它们可以处理几乎所有 PHP 变量类型。
$obj = new stdClass();
$obj->name = 'Jane Doe';
$obj->age = 25;

$serialized_obj = serialize($obj);
$unserialized_obj = unserialize($serialized_obj);

print_r($unserialized_obj);

在这个例子中,我们序列化和反序列化了一个包含对象的示例。

需要注意的是,反序列化不应该用于不受信任的数据,因为它可能导致安全漏洞。只有信任来源的数据才应该被反序列化。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3478/PHP