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 相关文章推荐
967 个函式
Oct 09 PHP
综合图片计数器
Oct 09 PHP
PHP面向对象分析设计的61条军规小结
Jul 17 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
PHP 文件系统详解
Sep 13 PHP
PHP CURL获取返回值的方法
May 04 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
python解析文件示例
2014/01/23 Python
python多线程抓取天涯帖子内容示例
2014/04/03 Python
理解Python中的With语句
2015/02/02 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
用python实现对比两张图片的不同
2018/02/05 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
给护士表扬信
2014/01/19 职场文书
开工仪式主持词
2014/03/20 职场文书
股权投资意向书
2014/04/01 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
2015元旦节寄语
2014/12/08 职场文书
2014年减负工作总结
2014/12/10 职场文书
客房领班岗位职责
2015/02/11 职场文书
签订劳动合同通知书
2015/04/16 职场文书
企业承诺书格式范文
2015/04/28 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python