浅谈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无敌近乎加密方式!
Jul 17 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
php jsonp单引号转义
Nov 23 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
codeigniter显示所有脚本执行时间的方法
Mar 21 PHP
PHP实现的浏览器检查类
Apr 11 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
php array_udiff_assoc 计算两个数组的差集实例
Nov 12 PHP
PDO::commit讲解
Jan 27 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
js的一些常用方法小结
2011/06/29 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
利用JS实现数字增长
2016/07/28 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
预备党员党课思想汇报
2014/01/13 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
材料会计岗位职责
2014/03/06 职场文书
银行内勤岗位职责
2014/04/09 职场文书
应届生找工作求职信
2014/06/24 职场文书
医药销售自我评价200字
2014/09/11 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers