详解PHP中的序列化、反序列化操作


Posted in PHP onMarch 21, 2017

数据(变量)序列化(持久化)

将一个变量的数据"转换为"字符串,但并不是类型转换,目的是将该字符串存储在本地。相反的行为成为反序列化。
流程:

//序列化
$str = serialize($r1);
//保存到本地
file_put_contents("文本文件路径",$str);
//从本地取出
$str2 = file_get_contents("文本文件路径");
//反序列化为之前的对象
$v1 = unserialize($str2);

具体实例:

1.在xxx1.php中进行序列化操作

<?php
$v1 = 1;
$v2 = 'abc';
$v3 = array('a'=>1,'bb'=>2.2,'awd',true);
$str1 = serialize($v1);
$str2 = serialize($v2);
$str3 = serialize($v3);

//写入文本文件
file_put_contents('./a1.txt', $str1);
file_put_contents('./a2.txt', $str2);
file_put_contents('./a3.txt', $str3);
?>

2.在xxx2.php中进行反序列化操作

<?php
$s1 = file_get_contents('./a1.txt');
$s2 = file_get_contents('./a2.txt');
$s3 = file_get_contents('./a3.txt');
$var1 = unserialize($s1);
$var2 = unserialize($s2);
$var3 = unserialize($s3);
echo "<br/>var_dump($var1,$var2,$var3)";
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Oracle Faq(Oracle的版本)
Oct 09 PHP
php FLEA中二叉树数组的遍历输出
Sep 26 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
理解php依赖注入和控制反转
May 11 PHP
PHP定时任务获取微信access_token的方法
Oct 10 PHP
php实用代码片段整理
Nov 12 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
php实现文件管理与基础功能操作
Mar 21 #PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 #PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 #PHP
php中通过eval实现字符串格式的计算公式
Mar 18 #PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 #PHP
YII框架批量插入数据的方法
Mar 18 #PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 #PHP
You might like
yii2超好用的日期组件和时间组件
2016/05/05 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
python制作mysql数据迁移脚本
2019/01/01 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Python如何定义接口和抽象类
2020/07/28 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
迷你西餐厅创业计划书范文
2013/12/31 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
办理居住证介绍信
2014/01/15 职场文书
企业内部培训方案
2014/02/04 职场文书
交通文明倡议书
2014/05/16 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
公司合并协议书范本
2014/09/30 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android
python单向链表实例详解
2022/05/25 Python