浅谈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 相关文章推荐
php Undefined index的问题
Jun 01 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
简单的php文件上传(实例)
Oct 27 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
php错误日志简单配置方法
Jul 11 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
php微信公众号开发之关键词回复
Oct 20 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 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应用技巧
2008/03/27 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
python实现自动登录后台管理系统
2018/10/18 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python实现与redis交互操作详解
2020/04/21 Python
深入了解Python 变量作用域
2020/07/24 Python
美国维生素、补充剂、保健食品购物网站:Vitacost
2016/08/05 全球购物
个人实用简单的自我评价
2013/10/19 职场文书
企事业单位求职者的自我评价
2013/12/28 职场文书
面试后的感谢信范文
2014/02/01 职场文书
团日活动策划书
2014/02/01 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
协议书样本
2014/04/23 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
食堂管理制度范本
2015/08/04 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
Django操作cookie的实现
2021/05/26 Python