浅谈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中目录,文件操作详谈
Mar 19 PHP
PHP 5.0对象模型深度探索之属性和方法
Mar 27 PHP
php 文件缓存函数
Oct 08 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
php获取字段名示例分享
Mar 03 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 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 smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP数组相关函数汇总
2015/03/24 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
js实现拖拽效果(构造函数)
2015/12/14 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
python对日志进行处理的实例代码
2018/10/06 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
Python 读取位于包中的数据文件
2020/08/07 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
物流合作计划书
2014/01/10 职场文书
安卓程序员求职信
2014/02/28 职场文书
我为自己代言广告词
2014/03/18 职场文书
年会搞笑主持词
2014/03/27 职场文书
小学生交通安全寄语
2015/02/27 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
小学三年级作文之写景
2019/11/05 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript