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 相关文章推荐
discuz安全提问算法
Jun 06 PHP
php session处理的定制
Mar 16 PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
php写的AES加密解密类分享
Jun 20 PHP
php合并数组中相同元素的方法
Nov 13 PHP
php微信公众平台开发之微信群发信息
Sep 13 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
PHP正则表达式之RCEService回溯
Apr 11 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
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
python 元组的使用方法
2020/06/09 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
python 实现有道翻译功能
2021/02/26 Python
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
群众路线批评与自我批评发言稿
2014/10/16 职场文书
超强台风观后感
2015/06/09 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
MySQL系列之十二 备份与恢复
2021/07/02 MySQL