详解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安装为Apache DSO
Oct 09 PHP
discuz7 phpMysql操作类
Jun 21 PHP
PHP转换文件夹下所有文件编码的实现代码
Jun 06 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
php防止伪造数据从地址栏URL提交的方法
Aug 24 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
PHP数据库表操作的封装类及用法实例详解
Jul 12 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php实现表单提交上传文件功能
May 28 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 PHP
详解PHP中curl_multi并发的实现
Jun 08 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
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
JavaScript 密码强度判断代码
2009/09/05 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
python re模块的高级用法详解
2018/06/06 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python骚操作之动态定义函数
2019/03/26 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
python 伯努利分布详解
2020/02/25 Python
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
大学生求职简历自我评价
2015/03/02 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android