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 相关文章推荐
DedeCms模板安装/制作概述
Mar 11 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
PHP重定向的3种方式
Mar 07 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
解析php如何将日志写进syslog
Jun 28 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
PHP数据库处理封装类实例
Dec 24 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
PHP命名空间用法实例分析
Sep 04 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自定义函数实现代码
2011/12/30 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
php代码架构的八点注意事项
2016/01/25 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
vue中的router-view组件的使用教程
2018/10/23 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python程序慢的重要原因
2020/09/04 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
司机的工作范围及职责
2013/11/13 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
写给老师的感谢信
2015/01/20 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
计划生育个人总结
2015/03/02 职场文书
狂人日记读书笔记
2015/06/30 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript
Python requests用法和django后台处理详解
2022/03/19 Python