详解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 相关文章推荐
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
php生成圆角图片的方法
Apr 07 PHP
smarty的section嵌套循环用法示例
May 28 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
PHP基于递归算法解决兔子生兔子问题
May 11 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
Mar 28 PHP
浅谈laravel aliases别名的原理
Oct 24 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
全文搜索和替换
2006/10/09 PHP
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
python 切片和range()用法说明
2013/03/24 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
队名及霸气口号大全
2015/12/25 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫