浅谈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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Oct 09 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
php微信开发之关注事件
Jun 14 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 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
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
PHP 转义使用详解
2013/07/15 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
原生js实现二级联动菜单
2019/11/27 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
python实现解数独程序代码
2017/04/12 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python设置环境变量的原因和方法
2019/06/24 Python
python读写csv文件实例代码
2019/07/05 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
python实现扫雷游戏的示例
2020/10/20 Python
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
若干个Java基础面试题
2015/05/19 面试题
大学教师年终总结的自我评价
2013/10/29 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
个人借款协议书范本
2014/11/17 职场文书
优秀教研组申报材料
2014/12/26 职场文书
银行求职信范文
2019/05/13 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python