浅谈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 mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
简单谈谈favicon
Jun 10 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
JavaScript 学习初步 入门教程
2010/03/25 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
Django实现自定义404,500页面教程
2017/03/26 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
销售行政专员职责
2014/01/03 职场文书
升国旗仪式主持词
2014/03/19 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
标准单位租车协议书
2014/09/23 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
民间借贷借条范本
2015/05/25 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
element tree树形组件回显数据问题解决
2022/08/14 Javascript