php 接收序列化数据,PHP如何序列化数据?
大多数情况下,我们需要将复杂的数组存储在数据库中或PHP中的文件中。有些人可能会使用PHP内置函数来完成这项任务。所谓复杂数组是具有多个数据类型或数组的元素的数组。
但是,我们已经有了一个方便的解决方案来处理这种情况。我们不必编写自己的函数来将复杂数组转换为格式化字符串。有两种流行的变量序列化方法。(推荐:PHP教程)
1、serialize()
2、unserialize()
我们可以使用serialize()函数序列化PHP中的任何数据。serialize()函数接受一个参数,该参数是我们想要分类的数据并返回一个序列化的字符串。
程序如下:
//一个复杂的数组
$myvar=array(
'hello',
42,
array(1,'two'),
'apple'
);
// 转换成字符串
$string= serialize($myvar);
// 打印序列化的数据
echo$string;
?>
输出:
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";}
从上面的代码中,我们得到了一个具有序列化数据的变量$string。我们可以使用unserialize()函数来反序列化变量的值,以返回复杂数组$myvar的原始值。
serialize()和unserialize()函数示例:
// 一个复杂的数组
$myvar=array(
'hello',
42,
array(1,'two'),
'apple'
);
// 序列化上述数据
$string= serialize($myvar);
// 反序列化$string中的数据
$newvar= unserialize($string);
// 打印未序列化的数据
print_r($newvar);
?>
输出:
Array
(
[0] => hello
[1] => 42
[2] => Array
(
[0] => 1
[1] => two
)
[3] => apple
)
这是本机PHP序列化方法。但是,由于JSON近年来变得如此受欢迎,他们决定在PHP 5.2中添加对它的支持。现在,您可以使用json_encode()和json_decode()函数分别在PHP中序列化和反序列化数据。
由于JSON格式仅为文本格式,因此可以轻松地将其发送到服务器或从服务器发送,并且可以通过任何编程语言用作数据格式。
让我们看看如何在PHP中使用json_encode():
// 一个复杂的数组
$myvar=array(
'hello',
42,
array(1,'two'),
'apple'
);
// 序列化数据
$string= json_encode($myvar);
// 打印序列化的数据
echo$string;
?>
输出:
["hello",42,[1,"two"],"apple"]
我们可以使用json_decode()函数解码上面程序中编码的数据,以获得原始复杂数组。
程序如下:
// 一个复杂的数组
$myvar=array(
'hello',
42,
array(1,'two'),
'apple'
);
// 序列化数据
$string= json_encode($myvar);
// 解码上面编码的字符串
$newvar= json_decode($string);
//phpfensi.com
// 打印解码后的数据
print_r($newvar);
?>
输出:
Array
(
[0] => hello
[1] => 42
[2] => Array
(
[0] => 1
[1] => two
)
[3] => apple
)
php 接收序列化数据,PHP如何序列化数据?相关推荐
- 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )
文章目录 一.标签闭包下创建子标签 二.使用 MarkupBuilderHelper 添加 xml 注释 三.完整代码示例 一.标签闭包下创建子标签 在上一篇博客 [Groovy]xml 序列化 ( ...
- 重温WCF之数据契约和序列化(四)
一.数据契约 1.使用数据协定可以灵活控制哪些成员应该被客户端识别. [DataContract]public class Employee{[DataMember]public string Nam ...
- 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称
文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...
- java中的IO流之序列化与反序列化(对象数据和文件的读写交互)
前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客 一.知识点介绍 1.什么是序列化与反序列化? 对象与磁盘的交互读写. 2.为什么要学? 2.1在之前的IO流中,都是内存与磁盘进行交互的读 ...
- 【Unity百宝箱】游戏中的用户数据存档 | Json序列化和反序列化 | 数据加密和解密 | 干货游戏教程
目录 框架设计 工具选用 逻辑书写 框架使用 框架优化 数据加密 总结 最后 Hi 大家好,我是游戏区Bug打工人小棋. 在游戏开发过程中,我们经常有存储用户数据的这一需求,比方说:游戏音量.关卡进度 ...
- Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
本节由介绍3种数据的发送接收: 1.Data Items : 比特类型数据,限制100KB以内 2.Assets : 资源类型数据,大小无上限 3.Message : 发送消息,触发指令 http:/ ...
- Django模板、配置文件、静态文件及案例实现(创建模板、设置模板查找路径、模板接收视图传入的数据、模板处理数据、BASE_DIR、DEBUG、本地语言与时区、App应用配置)
1.Django模板 网站如何向客户端返回一个漂亮的页面呢? 漂亮的页面需要html.css.js. 可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 存在的 ...
- php怎么接受,如何使php://input接收到另一个php的数据
程序设置只有接受到APP.POST过来的数据才会继续走,否则直接跳出. 如果想通过php来进行测试,那么要怎么去编译? 通过curl去post,在file_get_contents("php ...
- ActionScript接收socket服务器发送来的数据
原文地址:http://www.asp119.com/news/2009522181815_1.htm 从socket中接收数据的方法取决于你使用socket类型,Socket和XMLSocket都可 ...
最新文章
- 【数据结构】链表中的 指针,地址
- 用一个创业故事串起操作系统原理(三)
- 【MySQL】可重复读模式下 unique key失效案例
- Qt修炼手册12_线程同步与线程等待条件
- 【Python】刚刚,Python 3.10 正式发布了!我发现了一个可怕的功能...
- 黄聪: Bootstrap之Form表单验证神器: BootstrapValidator(转)
- 底部检测的do...while循环
- 每日一题(15)—— static有什么用途
- promise用法_图解 Promise 实现原理(四):Promise 静态方法实现
- Qt工作笔记- 解决cc1plus.exe: error: out of memory allocating
- 分账汇总少了一笔 和 对账和商户汇总比基础表少了一笔 问题处理方式
- 力改变物体形状举例_对旋转问题的思考-在离心力确定的情况下,物体的旋转情况如何通过宇宙中的相对运动情况和质量分布确定?...
- 为IBM 3650 M2 服务器配置RAID卡(一)
- Mysql 对语句的长度有限制,默认是 4M
- 苹果中国官网新增蚂蚁花呗 24 期分期免息服务
- 古月居 ROS 入门21讲--PA18 tf坐标系广播与监听的编程实现笔记
- Unity3D iPhone开发入门 (转)iPhoneSettings.
- Linux简单操作权限和相关工具
- mmhmm重塑视频会议、2020新款emoji可爱来袭、微软将推云游戏服务xCloud等| Decode the Week...
- 音频数据的建模全流程代码示例:通过讲话人的声音进行年龄预测
热门文章
- php 抽象类 继承,PHP 抽象类继承抽象类时的注意点
- anaconda python降级_anaconda 使用的一些体验与困惑
- C语言访问内部ROM,C语言随笔2: rom ram 及其运行的过程
- java生成xsd_java 生成XSD
- go mysql socket_Go语言实现socket实例
- 可能是GitHub上最好用的文字语法校验工具
- 皮一皮:这样的消息我也想收...
- 两种写法的效果一样,那么到底哪一种更好呢?
- 消息中间件—简谈Kafka中的NIO网络通信模型
- html不支持png%3e,关于Adobe Flash CS3无法导入png格式图片的修复方法(真正解决问题)...