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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
PHP循环获取GET和POST值的代码
Apr 09 PHP
Ha0k 0.3 PHP 网页木马修改版
Oct 11 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
php读取csc文件并输出
May 21 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
php统计数组元素个数的方法
2015/07/02 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
JavaScript中奇葩的假值示例应用
2014/03/11 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中unittest用法实例
2014/09/25 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
英国网上花店:Bunches
2016/11/29 全球购物
上海期货面试题
2014/01/31 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
同事吵架检讨书
2014/02/05 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
财务工作失误检讨书
2015/02/19 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
vue实现简单数据双向绑定
2021/04/28 Vue.js