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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
PHP 解决session死锁的方法
Jun 20 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
php删除指定目录的方法
Apr 03 PHP
php实现每天自动变换随机问候语的方法
May 12 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
php伪静态验证码不显示的解决方案
Sep 26 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
typecho插件编写教程(三):保存配置
2015/05/28 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
PHP强制转化的形式整理
2020/05/22 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
初任培训自我鉴定
2013/10/07 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
交通事故委托书范本
2014/09/28 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers