web 序列化与反序列化

序列化与反序列化

定义

序列化(串行化):
是将变量转换为可保存或传输的字符串的过程;

反序列化(反串行化):
就是在适当的时候把这个字符串再转化成原来的变量使用。

这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。

常见函数

常见的 php 系列化和反系列化方式主要有:serialize,unserialize;json_encode,json_decode

  1. serialize 和 unserialize 函数
    这两个是序列化和反序列化 PHP 中数据的常用函数。

  2. json_encode 和 json_decode
    使用 JSON 格式序列化和反序列化是一个不错的选择:
    使用 json_encode 和 json_decode 格式输出要 serialize 和 unserialize 格式快得多。
    JSON 格式是可读的。
    JSON 格式比 serialize 返回数据结果小。
    JSON 格式是开放的、可移植的。其他语言也可以使用它

  3. var_export 和 eval
    var_export 函数把变量作为一个字符串输出;eval 把字符串当成 PHP 代码来执行,反序列化得到最初变量的内容。

  4. wddx_serialize_value 和 wddx deserialize
    wddx_serialize_value 函数可以序列化数组变量,并以 XML 字符串形式输出

  5. file_put_contents () 函数把一个字符串写入文件中

    file_get_contents () 把整个文件读入一个字符串中。

该函数是用于把文件的内容读入到一个字符串中的首选方法