全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP串行化与反串行化实例分析

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

对象也是一种在内存中存储的数据类型,他的寿命通常随着生成该对象的程序的终止而终止。有时候可能需要把对象的状态保存下来,需要时再将其回复。串行化是把每个对象转化为二进制字符串。

<?php
class Person {
  var $name;
  var $sex;
  var $age;
  function __construct($name = "", $sex = "男", $age = 22) {
    $this->name = $name;
    $this->sex = $sex;
    $this->age = $age;
  }
  function say() {
    echo $this->name . "在说话<br/>";
  }
  function run() {
    echo "在走路·<br/>";
  }
  //串行化的时候自动调用,成员$sex被忽略,只串行$name,$age
  function __sleep() {
    $arr = array("name","age");
    return $arr;
  }
  //反串行化时自动调用
  function __wakeup() {
    $this->age = 33;
  }
}
class Student extends Person {
  var $school;
  function __construct($name = "", $sex = "男", $age = 22,$school="") {
    parent::__construct($name,$sex,$age);
    $this->school = $school;
  }
  function study() {
    echo $this->name."正在".$this->school."学习<br/>";
  }
}
class Teacher extends Student {
  var $wage;
  function teaching() {
    echo $this->name."正在".$this->school."教学,每月工资为".$this->wage."<br/>";
  }
  //如果调用了不存在的方法,将会自动调用__call(),不会报错
  function __call($functionName,$args) {
    echo "函数名:".$functionName;
    print_r($args);
    echo "<br/>";
  }
}
$teacher1 = new Teacher("kaifu","男",22);
$teacher1->school = "edu";
$teacher1->wage = 4000;
$teacher1->say();
$teacher1->study();
$teacher1->teaching();
$teacher1->hello(1,2,3);
?>

<?php
  require_once 'Person.php';
  $teacher = new Teacher("tom","男",22);
  $teacher_str = serialize($teacher);
  file_put_contents("file.txt", $teacher_str);
  //反串行化
  $objStr = file_get_contents("file.txt");
  $t = unserialize($objStr);
  echo $t->age;
?>

串行化 file.txt :

O:7:"Teacher":2:{s:4:"name";s:3:"tom";s:3:"age";i:22;}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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


# PHP  # 串行化  # 反串行化  # PHP中串行化用法示例  # 详解PHP对象的串行化与反串行化  # php面向对象全攻略 (十六) 对象的串行化  # PHP中的串行化变量和序列化对象  # PHP面向对象程序设计方法实例详解  # PHP面向对象继承用法详解(优化与减少代码重复)  # PHP面向对象程序设计高级特性详解(接口  # 继承  # 抽象类  # 析构  # 克隆等)  # PHP面向对象程序设计之命名空间与自动加载类详解  # PHP面向对象程序设计之对象生成方法详解  # PHP面向对象程序设计组合模式与装饰模式详解  # PHP入门教程之面向对象的特性分析(继承  # 多态  # 接口  # 抽象方法等)  # 程序设计  # 操作技巧  # 相关内容  # 将会  # 将其  # 感兴趣  # 给大家  # 不存在  # 报错  # 转化为  # 更多关于  # 所述  # 面向对象  # 化与  # 时再  # 运算符  # 编程技巧  # 讲述了  # sex 


相关文章: 网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星代理商如何保障技术支持与售后服务?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  已有域名建站全流程解析:网站搭建步骤与建站工具选择  建站主机系统SEO优化与智能配置核心关键词操作指南  如何高效配置IIS服务器搭建网站?  如何在建站之星绑定自定义域名?  制作农业网站的软件,比较好的农业网站推荐一下?  视频网站制作教程,怎么样制作优酷网的小视频?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何快速配置高效服务器建站软件?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  建站之星各版本价格是多少?  c# 在高并发场景下,委托和接口调用的性能对比  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星如何实现五合一智能建站与营销推广?  TestNG的testng.xml配置文件怎么写  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  如何在IIS服务器上快速部署高效网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  linux top下的 minerd 木马清除方法  设计网站制作公司有哪些,制作网页教程?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  定制建站价位费用解析与套餐推荐全攻略  建站之星收费标准详解:套餐费用及年费价格表一览  如何通过.red域名打造高辨识度品牌网站?  手机网站制作与建设方案,手机网站如何建设?  建站之星上传入口如何快速找到?  湖北网站制作公司有哪些,湖北清能集团官网?  ,交易猫的商品怎么发布到网站上去?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  高性能网站服务器配置指南:安全稳定与高效建站核心方案  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  建站之星后台密码遗忘?如何快速找回?  Android滚轮选择时间控件使用详解  建站主机解析:虚拟主机配置与服务器选择指南  如何配置IIS站点权限与局域网访问?  建站之星安装后如何配置SEO及设计样式?  高防服务器租用首荐平台,企业级优惠套餐快速部署  网站设计制作企业有哪些,抖音官网主页怎么设置?  自助网站制作软件,个人如何自助建网站?  建站之星多图banner生成与模板自定义指南  存储型VPS适合搭建中小型网站吗?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  ,制作一个手机app网站要多少钱?  如何通过PHP快速构建高效问答网站功能?  实现虚拟支付需哪些建站技术支撑? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。