浅谈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注销代码(session注销)
May 31 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
学习php分页代码实例
Oct 24 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 PHP
PHP中PDO事务处理操作示例
May 02 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 PHP
PHP与以太坊交互详解
Aug 24 PHP
php提取微信账单的有效信息
Oct 01 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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
c#中的实现php中的preg_replace
2009/12/21 PHP
浅析PHP绘图技术
2013/07/03 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
php实现数据库的增删改查
2017/02/26 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
跟单文员的岗位职责
2013/11/14 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
2014年信访工作总结
2014/11/17 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
Java 在生活中的 10 大应用
2021/11/02 Java/Android