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 相关文章推荐
Wordpress php 分页代码
Oct 21 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
ThinkPHP视图查询详解
Jun 30 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 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中Ctype函数用法详解
2014/12/09 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
vue.js的提示组件
2017/03/02 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
require.js中的define函数详解
2017/07/10 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
JavaScript实现短暂提示框功能
2018/04/04 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
Python数据类型详解(一)字符串
2016/05/08 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python模块之time模块(实例讲解)
2017/09/13 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
详解python中docx库的安装过程
2019/11/08 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
集中整治工作方案
2014/05/01 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
公司员工手册范本
2015/05/14 职场文书