浅谈php函数serialize()与unserialize()的使用方法


Posted in PHP onAugust 19, 2014

php函数serialize():

这个函数作用就是序列化数据,返回一个可存储的字符串,该函数有利于存储或传递PHP的值,同时不丢失其类型和结构。所以我们在cms数据库里面经常看到这样的结构。

一般,我们将复杂或者数据量多而没有必要分开存储的数据封装成一个多维数组通过serialize()转成字符串,然后存进数据库,需要的时候再拿出来转成数组再用,而拿出了转成数组用的就是php的unserialize(),前面多了一个un嘛。直接上例子:
 

$a=array("周","满","和","个人","博客","3water.com","周满和","个人博客");
$b=serialize($a);
print_r($b);
echo "<br/>";
$c=unserialize($b);
print_r($c);

输出结果是:

//经过serialize序列化之后得到的数据,也是存这个进数据库
a:8:{i:0;s:3:"周";i:1;s:3:"满";i:2;s:3:"和";i:3;s:6:"个人";i:4;s:6:"博客";i:5;s:20:"3water.com";i:6;s:9:"周满和";i:7;s:12:"个人博客";}
 
//经过unserialize()反序列化得到的数据,和之前的$a数组结构一样吧
Array ( [0] => 周 [1] => 满 [2] => 和 [3] => 个人 [4] => 博客 [5] => 3water.com [6] => 周满和 [7] => 个人博客 )

在上一个复杂一点的二维数组的例子:
 

$a1=array(
  'name'=>array("周","满",'和'),
  'name_weburl'=>array("周满和","3water.com"),
  'all'=>array('周满和个人博客'=>'3water.com')
);
$b1=serialize($a1);
print_r($b1);
echo "<br/>";
$c1=unserialize($b1); 
print_r($c1);

输出结果是:

//经过serialize序列化之后得到的数据,也是存这个进数据库
a:3:{s:4:"name";a:3:{i:0;s:3:"周";i:1;s:3:"满";i:2;s:3:"和";}s:11:"name_weburl";a:2:{i:0;s:9:"周满和";i:1;s:20:"3water.com";}s:3:"all";a:1:{s:21:"周满和个人博客";s:20:"3water.com";}}
 
//经过unserialize()反序列化得到的数据,和之前的$a数组结构一样吧
Array ( [name] => Array ( [0] => 周 [1] => 满 [2] => 和 ) [name_weburl] => Array ( [0] => 周满和 [1] => 3water.com ) [all] => Array ( [周满和个人博客] => 3water.com ) )
PHP 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
php实现rc4加密算法代码
Apr 25 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
php封装的mysqli类完整实例
Oct 18 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 #PHP
php实现文件下载代码分享
Aug 19 #PHP
PHP中array_map与array_column之间的关系分析
Aug 19 #PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 #PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 #PHP
PHP中单引号与双引号的区别分析
Aug 19 #PHP
php版本的cron定时任务执行器使用实例
Aug 19 #PHP
You might like
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
JS重要知识点小结
2011/11/06 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
Python Web版语音合成实例详解
2019/07/16 Python
python实现交并比IOU教程
2020/04/16 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
旅游管理专业学生求职信
2013/09/28 职场文书
大一学生假期实习的自我评价
2013/10/12 职场文书
机械专业毕业生推荐信范文
2013/11/25 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
个人自我评价范文
2014/02/05 职场文书
活动总结新闻稿
2014/08/30 职场文书
2014年转正工作总结
2014/11/08 职场文书
同学会邀请函模板
2015/01/30 职场文书
四大名著读书笔记
2015/06/25 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
选购到合适的激光打印机
2022/04/21 数码科技