zoukankan      html  css  js  c++  java
  • php序列化与反序列化

    序列化与反序列化

    把复杂的数据类型压缩到一个字符串中

    serialize() 把变量和它们的值编码成文本形式
    unserialize() 恢复原先变量 

    1.创建一个$arr数组用于储存用户基本信息,并在浏览器中输出查看结果;

    1
    2
    3
    4
    5
    6
    7
    $arr=array();
    $arr['name']='张三';
    $arr['age']='22';
    $arr['sex']='男';
    $arr['phone']='123456789';
    $arr['address']='上海市浦东新区';
    var_dump($arr);

    输出结果:

    1
    2
    3
    4
    5
    6
    7
    array(5) {
    ["name"]=> string(6) "张三"
    ["age"]=> string(2) "22"
    ["sex"]=> string(3) "男"
    ["phone"]=> string(9) "123456789"
    ["address"]=> string(21) "上海市浦东新区"
     }

    2.将$arr数组进行序列化赋值给$info字符串,并在浏览器中输出查看结果;

    1
    2
    $info=serialize($arr);
    var_dump($info);

    输出结果:

    1
    string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}"

    使用序列化serialize($arr)函数,将数组中元素的键和值按照规则顺序连接成字符串。a:5标志序列化为array包含5个键值对,s:4标志内容为字符串包含4个字符。

    通过序列化我们可以将一些模块化的数据使用字符串的形式存储在数据库或session等,可以减少创建众多繁琐的数据表字段,当然序列化为字符串存储会增加额外的空间,应合理的设计和应用。

    3.最后使用unserialize($info)反序列化将字符串还原成我们需要的数组模式;

    1
    2
    $zhangsan=unserialize($info);
    var_dump($zhangsan);

    输出结果:

    1
    2
    3
    4
    5
    6
    7
    array(5) {
    ["name"]=> string(6) "张三"
    ["age"]=> string(2) "22"
    ["sex"]=> string(3) "男"
    ["phone"]=> string(9) "123456789"
    ["address"]=> string(21) "上海市浦东新区"
    }
  • 相关阅读:
    SQL 操作结果集 -并集、差集、交集、结果集排序
    MongoDB系列四:解决secondary的读操作
    org.apache.hadoop.ipc.RemoteException: User: root is not allowed to impersonate root
    hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
    FormData上传文件同时附带其他参数
    Hive删除分区
    Hive日期格式转换用法
    HIVE 不支持group by 别名
    ODS与EDW的区别
    hive数据类型转换、字符串函数、条件判断
  • 原文地址:https://www.cnblogs.com/never--more/p/7019709.html
Copyright © 2011-2022 走看看