PHP中串行化用法示例


Posted in PHP onNovember 16, 2016

本文实例讲述了PHP中串行化用法。分享给大家供大家参考,具体如下:

功能:串行化用于对对象的存储或者传输,通过反串行化得到这个对象。

1. Person.class.php:

<?php
/*
作者 : shyhero
*/
class Person{ //声明一个Person类
  public $age;
  private $name;
  protected $sex;
  public function __construct($age="",$name="",$sex=""){
   $this -> age = $age;
   $this -> name = $name;
   $this -> sex = $sex;
  }
  public function say(){
   return $this -> age." ".$this -> name." ".$this -> sex;
  }
  function __sleep(){ //指定串行化时能提取的成员属性,没有参数,但是必须返回一个数组
   $arr = array("age","name");
   return $arr;
  }
  function __wakeup(){ //指定反串行化时,提取出来的值
   $this -> sex = "woman";
  }
}

2. 串行化代码

<?php
  require("./Person.class.php");
  $p = new Person(21,"du","man"); //定义Person类对象
  $pString = serialize($p);  //对对象进行串行化
  file_put_contents("./file.txt",$pString);//存到文件里

3. 反串行化代码

<?php
  require("./Person.class.php");//反串行化时,也要包含原类
  $pString = file_get_contents("./file.txt");//从文件中取出串行化的值
  $p = unserialize($pString);//进行反串行化
  var_dump($p);  //这个 $p就是之前那个串行化的对象,一样用,但是里面的值被我改了

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
实现分十页分向前十页向后十页的处理
Oct 09 PHP
深入了解php4(2)--重访过去
Oct 09 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
May 04 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
关于crontab的使用详解
Jun 24 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
PHP session会话操作技巧小结
Sep 27 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 PHP
PHP单态模式简单用法示例
Nov 16 #PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 #PHP
php实现当前页面点击下载文件的实例代码
Nov 16 #PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 #PHP
PHP Header失效的原因分析及解决方法
Nov 16 #PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 #PHP
php导出csv文件,可导出前导0实例代码
Nov 16 #PHP
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
一贴学会PHP 新手入门教程
2009/08/03 PHP
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python3 字符串知识点学习笔记
2020/02/08 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
业务助理岗位职责
2013/11/18 职场文书
2015年路政工作总结
2015/05/22 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript
Java线程的6种状态与生命周期
2022/05/11 Java/Android