php序列化函数serialize() 和 unserialize() 与原生函数对比


Posted in PHP onMay 08, 2015

php中有格式化字符串并转换成数组或对象的好方法,即序列化处理。
有两种序列化变量的方法。

以下示例,使用 serialize() 和 unserialize() 函数:

// a complex array
$myvar = array(
 'hello',
 42,
 array(1,'two'),
 'apple'
);

// convert to a string
$string = serialize($myvar);

echo $string;
/* prints
a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}
*/

// you can reproduce the original variable
$newvar = unserialize($string);

print_r($newvar);
/* prints
Array
(
  [0] => hello
  [1] => 42
  [2] => Array
    (
      [0] => 1
      [1] => two
    )

  [3] => apple
)
*/

这是原生的 PHP 序列化方法。

然而,由于 JSON 近年来大受欢迎,PHP5.2 中已经加入了对 JSON 格式的支持。

现在你可以使用 json_encode() 和 json_decode() 函数:

// a complex array
$myvar = array(
 'hello',
 42,
 array(1,'two'),
 'apple'
);

// convert to a string
$string = json_encode($myvar);

echo $string;
/* prints
["hello",42,[1,"two"],"apple"]
*/

// you can reproduce the original variable
$newvar = json_decode($string);

print_r($newvar);
/* prints
Array
(
  [0] => hello
  [1] => 42
  [2] => Array
    (
      [0] => 1
      [1] => two
    )

  [3] => apple
)
*/

这将更为行之有效,尤其与 JavaScript 等许多其他语言兼容。

注意:对于复杂的对象,某些信息可能会丢失。

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
附件名前加网站名
Mar 23 PHP
PHP安全技术之 实现php基本安全
Sep 04 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
php实现比较全的数据库操作类
Jun 18 PHP
php生成动态验证码gif图片
Oct 19 PHP
PHP7之Mongodb API使用详解
Dec 26 PHP
php简单复制文件的方法
May 09 PHP
laravel-admin的图片删除实例
Sep 30 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
php中header跳转使用include包含解决参数丢失问题
May 08 #PHP
PHP中is_file()函数使用指南
May 08 #PHP
PHP5.2下preg_replace函数的问题
May 08 #PHP
PHP中is_dir()函数使用指南
May 08 #PHP
php中file_exists函数使用详解
May 08 #PHP
PHP时间和日期函数详解
May 08 #PHP
PHP数组和explode函数示例总结
May 08 #PHP
You might like
php下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
ArrayList类(增强版)
2007/04/04 Javascript
7个Javascript地图脚本整理
2009/10/20 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
js实现开关灯效果
2020/03/30 Javascript
node后端服务保活的实现
2019/11/10 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
使用python实现strcmp函数功能示例
2014/03/25 Python
Python切片工具pillow用法示例
2018/03/30 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
Python PyQt5整理介绍
2020/04/01 Python
浅谈Python中的模块
2020/06/10 Python
小学学雷锋活动总结
2014/04/25 职场文书
旅游活动总结
2014/08/27 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
停车位租赁协议书
2014/09/24 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
学习心理学心得体会
2016/01/22 职场文书
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏