序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。

用一个类的时候都是new一下!
如果serialize 将数据序列化以后存到数据库中等 
用的时候就不再new了

反序列化以后就可以直接用了!相当于new了一下!
用例子给你说明一下!

如:

serialize 实例 序列化变量

<?php
//声明一个类
class dog {var $name;var $age;var $owner;function dog($in_name="unnamed",$in_age="0",$in_owner="unknown") {$this->name = $in_name;$this->age = $in_age;$this->owner = $in_owner;}function getage() {return ($this->age * 365);}function getowner() {return ($this->owner);}function getname() {return ($this->name);}
}
//实例化这个类
$ourfirstdog = new dog("Rover",12,"Lisa and Graham");
//用serialize函数将这个实例转化为一个序列化的字符串
$dogdisc = serialize($ourfirstdog);
print $dogdisc; //$ourfirstdog 已经序列化为字符串 O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}
/*
-----------------------------------------------------------------------------------------在这里你可以将字符串 $dogdisc 存储到任何地方如 session,cookie,数据库,php文件
-----------------------------------------------------------------------------------------
*///我们在此注销这个类unset($ourfirstdog);?>

unserialize 实例 反序列化 还原变量

<?php
//声明一个类
class dog {var $name;var $age;var $owner;function dog($in_name="unnamed",$in_age="0",$in_owner="unknown") {$this->name = $in_name;$this->age = $in_age;$this->owner = $in_owner;}function getage() {return ($this->age * 365);}function getowner() {return ($this->owner);}function getname() {return ($this->name);}
}
/*    还原操作   */
/*
-----------------------------------------------------------------------------------------在这里将字符串 $dogdisc 从你存储的地方读出来如 session,cookie,数据库,php文件
-----------------------------------------------------------------------------------------
*/$dogdisc='O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}';
//我们在这里用 unserialize() 还原已经序列化的对象
$pet = unserialize($dogdisc); //此时的 $pet 已经是前面的 $ourfirstdog 对象了
//获得年龄和名字属性
$old = $pet->getage();
$name = $pet->getname();
//这个类此时无需实例化可以继续使用,而且属性和值都是保持在序列化之前的状态
print "Our first dog is called $name and is $old days old<br>";?>

php serialize unserialize 数据序列化 与 反序列化相关推荐

  1. python pickle模块:数据序列化和反序列化

      pickle模块是python中数据序列化和反序列化的一个包,该模块提供了一套算法,用于对一个Python对象进行serializing(序列化为字符串)和de-serializing(从字符串构 ...

  2. php和js序列化,PHP中serialize和json序列化与反序列化的区别

    在PHP中,serialize和json两种方式对一个对象或数组进行序列化或反序列化有什么区别呢? 假设一个对象和一个数组: PHP 1 2 3 4$web=newstdClass; $web-> ...

  3. JSON数据序列化与反序列化实战

    一.关于JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写.是一种文件规范,绝大多数的编程语言均可以轻松读写.当然python也不 ...

  4. python序列化和反序列化_Python 中 json 数据序列化和反序列化

    1.Json 定义 定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.JSON 的数据格式其实就是 python 里面的字典格式,里 ...

  5. 详解电子表格中的json数据:序列化与反序列化

    从XML到JSON 当下应用开发常见的B/S架构之下,我们会遇到很多需要进行前后端数据传输的场景.而在这个传输的过程中,数据通过何种格式传输.方式是否迅速便捷.书写方式是否简单易学,都成为了程序员在开 ...

  6. 序列化和反序列化实现

    1. 什么是序列化? 程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入文件或是将其传输到网络中的另一台计算机上以实现通讯.这个将程序数据转换成能被存储并传输的格式的过程被称 ...

  7. hutol json null值没了_JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法...

    Jackson是Spring Boot默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制.它提供了很 ...

  8. C++ 序列化和反序列化学习

    定义 程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯.这些过程将会涉及到程序数据转化成能被存储并传输的格式,因此被称 ...

  9. kafka python框架_Python中如何使用Apache Avro——Apache的数据序列化系统

    了解如何创建和使用基于Apache Avro的数据,以实现更好,更有效的传输. 在这篇文章中,我将讨论Apache Avro,这是一种开源数据序列化系统,Spark,Kafka等工具正在使用该工具进行 ...

最新文章

  1. No.1010_第七次团队会议
  2. [转]基于ROS平台的移动机器人-4-通过ROS利用键盘控制小车移动
  3. 关于计算机的作文初一,关于初一作文汇编五篇
  4. layui datetimepicker 只日期范围到当前时间的前一天_浪琴手表如何正确调整日期?手表调日期的方法...
  5. 34个省市自治区排序_freeCodeCamp的1,000多个学习小组现已完全自治
  6. SQL Server 2008数据库快照技术(八)
  7. Node.js开发框架Express4.x
  8. java反射机制原理详解
  9. typecho编辑器 图片修改宽度高度 并且设置居中
  10. java md5加密 jar包,java md5加密工具类学习示例
  11. 使用PHP+LibreOffice实现word转html的功能
  12. echarts实现世界地图,给不同数值的国家着色,并根据经纬度在对应位置上添加标签(一)
  13. 什么是3322域名?3322域名如何注册?
  14. win7计算机资源管理器卡住,Win7电脑资源管理器一直卡住怎么办_Win7电脑资源管理器一直卡住的解决方法 - 系统家园...
  15. apt cyg 安装php,Cygwin的安装及使用apt-cyg管理软件包
  16. 软件环境:安装报Error opening file for writing
  17. 红米2 com.android.phone,红米2手机(移动/联通/电信) 7.1 ROM 下载地址搬运(2017年3月10日更新)...
  18. 虚拟机共享文件夹看不到问题
  19. electron-vue 引入electron-updater提示unexpected token
  20. 使用fiddle抓包使用教程

热门文章

  1. python plot设置坐标轴_python matplotlib坐标轴设置的方法
  2. Kubernetes — 容器设计模式
  3. 数据结构 — 哈希表
  4. jwt思维导图,让jwt不再难懂
  5. Java关键字(四)——final
  6. 解密蚂蚁金服MISA:37℃的自助语音交互是怎么做到的?
  7. 26.C++- 泛型编程之类模板(详解)
  8. “电商+金融”融合发展 开辟金融创新新路径
  9. 常用HiveQL总结
  10. storm集群和单点安装