本文实例讲述了PHP序列化操作方法。分享给大家供大家参考,具体如下:

序列化就是将变量数据转换为字符串(跟类型转换机制不同),一般应用于存储数据(文件),然后在别的情形下恢复(反序列化)

序列化:

$val = serialize($var);

file_put_contents('./*.txt',$val);

反序列化:

$val = file_get_contents('./*.txt');

$var = unserialize($val);

当一个对象进行序列化操作时,会自动调用类中的__sleep();

当反序列化一个对象的时候,会自动调用对应类的__wakeup(),反序列操作中,必须具备了对应的类的声明。

__sleep()中可以进行一些数据(资源)的清理关闭操作,并返回一个数组,该数组存储一些需要进行序列化的对象的属性,即可以挑选属性进行序列化。

class bee{

public $a;

protected $b;

private $c;

public function __sleep(){

return array('a','b');

}

}

__wakeup()在进行反序列话操作的时候进行某些有用的‘数据恢复工作',比如连接数据库

public function __wakeup(){

$this->func();

}

__tostring()

当把一个对象当作一个字符串来看待处理的时候,会自动调用该方法。通过该方法可以返回合适的字符串,如果没该定义该方法就会出错。

class bee{

public function __tostring(){

echo 'string';

}

}

$obj = new bee();

//对象不能直接当字符串使用

echo $obj;

__invoke()

当对象当作一个方法使用的时候,会自动调用该方法

class bee{

public function __invoke(){

echo 'invoke';

}

}

$obj = new bee();

//对象不能直接当字符串使用

echo $obj();

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

php 序列化方法,PHP序列化操作方法分析相关推荐

  1. php php 序列化方法,PHP序列化的4种方法已公布,这是你PHP进阶之路必会的

    [摘要]php作为一种编程软件,也能实现很多功能,不过今天环球网校的小编要为大家讲解PHP序列化的4种方法已公布,这是你PHP进阶之路必会的?看完这个代码你就明白了,因为只要你了解了PHP序列化的4种 ...

  2. krait和kryo_java原生序列化和Kryo序列化性能实例对比分析

    简介 最近几年,各种新的高效序列化方式层出不穷,不断刷新序列化性能的上限,最典型的包括: 专门针对java语言的:Kryo,FST等等 跨语言的:Protostuff,ProtoBuf,Thrift, ...

  3. C# 的三种序列化方法

    序列化是将一个对象转换成字节流以达到将其长期保存在内存.数据库或文件中的处理过程.它的主要目的是保存对象的状态以便以后需要的时候使用.与其相反的过程叫做反序列化. 序列化一个对象 为了序列化一个对象, ...

  4. java-Java可以对方法进行序列化?

    Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨. 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列 ...

  5. 魔术方法 类 序列化_Java序列化魔术方法及其示例使用

    魔术方法 类 序列化 在上一篇文章中, 您需要了解有关Java序列化的所有知识 ,我们讨论了如何通过实现Java序列化来启用类的可序列化性. Serializable接口. 如果我们的类未实现Seri ...

  6. c#.net实体类序列化方法  为什么要序列化

    提到为了传递数据,需要把作为载体的实体类序列化,好好的找了一些序列化方面的介绍.感觉下面的这个介绍比较容易介绍! 1.什么是序列化 序列化是将对象状态转换为可保持或传输的格式的过程,在序列化过程中,对 ...

  7. jquery字符串序列化方法总结

    在jquery中字符串序列化方法包括有param() .serialize() .serializeArray(),在这里对其常用做法进行总结. $.param()方法 这是serialize()方法 ...

  8. JSON 泛型序列化方法 与 LinkedHashMap转成对象

    JSON 泛型序列化方法 与 LinkedHashMap转成对象 1.说明 1.JSON 泛型序列化方法 2.1 JSON 源码 2.2 示例 2.3 忽略反转义报错 3.LinkedHashMap ...

  9. jQuery表单序列化方法serialize(),serializeArray()

      我们使用ajax给后台传递数据的时候,经常要获取表单的数据.表单数据不多还好说,但是如果表单字段非常多,那么无疑是非常头疼的事.如何获取大量的表单数据,是非常重要的事情. 表单页面 <for ...

最新文章

  1. python技术晨讲_python系列教程14
  2. 启用无密码方式登录ssh
  3. JBoss was unable to start within 50 seconds-JBoss启动超时
  4. vue.cli脚手架初次使用图文教程
  5. 海量数据选取重复次数最多的n个
  6. 全局eslint不生效的处理
  7. 【设计模式 03】装饰模式——俄罗斯套娃?
  8. Lotus,协作领域的常青树
  9. android setprogress,progressDialog 为什么设置了setProgress()方法无反应?
  10. 使用隐含参数testMappingSpeed排查GoldenGate抽取慢的步骤
  11. 如何估算太坊交易的gas消耗量
  12. sql盲注 解决_SQL盲注攻击的简单介绍
  13. 励磁电感公式_永磁同步电机交直轴电感计算
  14. 二元函数对xy同时求导_呆哥数学每日一题 ——求多元函数最小值
  15. 游戏《部落冲突》中的心理学运用
  16. c语言程序隔断,别再砌墙了!20种方法让隔断在你家C位出场
  17. cubieboard服务器系统,CubieBoard_搭建自己的系统.pdf
  18. yaml-cpp保存标定文件-Node/Emitter
  19. 苹果提示:“未信任的企业开发者”
  20. krnln.fnr和shell.fne_电脑开机显示failedtoloadkernllibrary什么意思啊

热门文章

  1. 补肾分男女,养肾如养命
  2. 有驾照不等于会开车,教你开车技巧27招
  3. 妈妈培养天才的13绝招
  4. 程序员越老越优秀吗?
  5. PHP中插件机制的一种实现方案
  6. PLSQL安装教程,无需oracle客户端(解决本地需要安装oracle客户端的烦恼)
  7. android node
  8. 180118 有趣的人工智能对话小程序
  9. HTML5 SVG
  10. 【一些简单的jQuery选择器】