序列化与反序列化

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

serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
 
1.创建一个$arr数组用于储存用户基本信息,并在浏览器中输出查看结果;
$arr=array();
$arr['name']='张三';
$arr['age']='22';
$arr['sex']='男';
$arr['phone']='123456789';
$arr['address']='上海市浦东新区';
var_dump($arr); 输出结果:
array(5) {
["name"]=> string(6) "张三"
["age"]=> string(2) "22"
["sex"]=> string(3) "男"
["phone"]=> string(9) "123456789"
["address"]=> string(21) "上海市浦东新区"
}  2.将$arr数组进行序列化赋值给$info字符串,并在浏览器中输出查看结果;
$info=serialize($arr);
var_dump($info); 输出结果:
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)反序列化将字符串还原成我们需要的数组模式;
$zhangsan=unserialize($info);
var_dump($zhangsan); 输出结果:
array(5) {
["name"]=> string(6) "张三"
["age"]=> string(2) "22"
["sex"]=> string(3) "男"
["phone"]=> string(9) "123456789"
["address"]=> string(21) "上海市浦东新区"
}

最新文章

  1. spark 源码安装
  2. C#可扩展编程之MEF学习笔记(五):MEF高级进阶
  3. 【uTenux实验】邮箱
  4. 1795. Table tennis
  5. jstat使用
  6. HDU5779 Tower Defence (BestCoder Round #85 D) 计数dp
  7. T-SQL XQuery (XML路径查询) (转)http://blog.csdn.net/Beirut/article/details/8150116
  8. SQL删除重复行和查询所有大于某成绩的语句分析
  9. android手动改动density(dpi)的方法
  10. leetcode Binary Tree Paths python
  11. delphi实现图象灰度处理的3种方法
  12. 关于UIFont和计算字符串的高度和宽度
  13. PHP 5 Directory 函数
  14. 删除Widows 启动项中的信息
  15. 卸载和删除wozhuan.exe
  16. 一则ORACLE进程都在但是无法进入实例的问题
  17. Jmeter(三十七)循环控制器+交替控制器+事务控制器 完美实现接口字段参数化校验
  18. [Python设计模式] 第1章 计算器——简单工厂模式
  19. -bash: start-all.sh: 未找到命令
  20. 虚拟机vmware如何进入bios设置,设置启动项(装系统时用)

热门文章

  1. XML(20161113)
  2. 在windows上缓存git 密码
  3. Bootsrap 的 Carousel
  4. Struts2之标签使用
  5. 2017-3-22 HTML 表单 、框架
  6. CSS -- 练习(待续优化)
  7. 小程序新能力-个人开发者尝鲜微信小程序
  8. datatables,表格
  9. HTML5 的WebSocket
  10. ajax VS websocket