PHP常见的序列化与反序列化操作实例分析


Posted in PHP onOctober 28, 2019

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

1.概念

serialize() 把变量和它们的值编码成文本形式

unserialize() 恢复原先变量 

2.序列化例子

输入输出

$arr=array();
$arr['name']='张三';
$arr['age']='22';
$arr['sex']='男';
$arr['phone']='123456789';
$arr['address']='上海市浦东新区';
var_dump($arr);

array(5) {
["name"]=> string(6) "张三"
["age"]=> string(2) "22"
["sex"]=> string(3) "男"
["phone"]=> string(9) "123456789"
["address"]=> string(21) "上海市浦东新区"
}

序列化操作

$info=serialize($arr);
var_dump($info);

输出结果

string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}"

解析

使用序列化serialize($arr)函数,将数组中元素的键和值按照规则顺序连接成字符串。

a:5标志序列化为array包含5个键值对,

s:4标志内容为字符串包含4个字符。

3.反序列化列子

$zhangsan=unserialize($info);
var_dump($zhangsan);

输出

array(5) {
["name"]=> string(6) "张三"
["age"]=> string(2) "22"
["sex"]=> string(3) "男"
["phone"]=> string(9) "123456789"
["address"]=> string(21) "北京市海淀区"
}

4.优缺点

通过序列化我们可以将一些模块化的数据使用字符串的形式存储在数据库或session等,可以减少创建众多繁琐的数据表字段,当然序列化为字符串存储会增加额外的空间,应合理的设计和应用。

这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。

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

PHP 相关文章推荐
中英文字符串翻转函数
Dec 09 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php fckeditor 调用的函数
Jun 21 PHP
php继承的一个应用
Sep 06 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
php&mysql 日期操作小记
Feb 27 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
php文件读取方法实例分析
Jun 20 PHP
php中header设置常见文件类型的content-type
Jun 23 PHP
PHP数组操作类实例
Jul 11 PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 PHP
PHP文件上传小程序 适合初学者学习!
May 23 PHP
PHP接入微信H5支付的方法示例
Oct 28 #PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 #PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 #PHP
layui数据表格自定义每页条数limit设置
Oct 26 #PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 #PHP
Laravel 实现添加多语言提示信息
Oct 25 #PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 #PHP
You might like
php的一个登录的类 [推荐]
2007/03/16 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
推荐dojo学习笔记
2007/03/24 Javascript
javascript json 新手入门文档
2009/12/03 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
javascript常用功能汇总
2015/07/05 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
从0开始的Python学习016异常
2019/04/08 Python
python中提高pip install速度
2020/02/14 Python
Python实现弹球小游戏
2020/08/01 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
演讲稿开场白
2014/01/13 职场文书
医院检讨书范文
2014/02/01 职场文书
教师师德考核自我评价
2014/09/13 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
初中军训感想
2015/08/07 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技