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中文分词 自动获取关键词介绍
Nov 13 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
PHP独立Session数据库存储操作类分享
Jun 11 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
详解Yii2.0使用AR联表查询实例
Jun 16 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP常见过waf webshell以及最简单的检测方法
May 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
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
详解在React里使用"Vuex"
2018/04/02 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
python中dict使用方法详解
2019/07/17 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Python实现京东抢秒杀功能
2021/01/25 Python
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
小学教师国培感言
2014/02/08 职场文书
网聊搭讪开场白
2015/05/28 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python