php序列化的用法总结(代码示例)

不言
发布: 2019-01-14 13:22:19
原创
4980人浏览过

序列化可以将数组等保存为数组,此外,它还可用于发送和接收邮件,这样说可能不太好理解,本篇文章我们就来介绍关于php序列化的内容。

php序列化的用法总结(代码示例)

通常在数据库中存储数组时会发生什么?

尝试在数据库中注册以下数组。

["student1", "student2", "student3"]
登录后复制

然后尝试再次获取它

立即学习PHP免费学习笔记(深入)”;

'Array("student1", "student2", "student3")'
登录后复制

我们获取到的是字符串,在没有序列化的情况下在数据库中注册后,如果再次检索它,它将成为一个字符串。

使用foreach语句获取此字符串是不行的。

数组需要作为数组在数据库中注册,这时就需要使用序列化。

我们来使用一下序列化

要序列化,需要使用serialize函数

此外,结果取决于要序列化的数据类型。

序列化数组

登录后复制

执行结果为

a:3:{i:0;s:8:"student1";i:1;s:8:"student2";i:2;s:8:"student3";}
登录后复制

请注意,初始[a:3]部分以[type:value]的形式显示。

表示数组的类型是a。

此外,之后的显示是数组数据部分,由[key; value;]表示

序列化整数

<?php
$test = 50;
$disp = serialize($test);
echo $disp;
登录后复制

结果为

i:50;
登录后复制

序列化字符串

<?php
$test = 'student';
$disp = serialize($test);
echo $disp;
登录后复制

结果为

s:7:"student";
登录后复制

表示字符串的类型是s。

在字符串的情况下也有数字,但这表示字符数。

序列化很简单。

然后发送序列化数据或将其保存在数据库中。

用unserialize进行反序列化

要使用序列化数据,您不能按原样使用它。

必须使用 unserialize来恢复原始类型和结构。

反序列化数组

";
echo print_r(unserialize($disp));
登录后复制

为了清晰起见,显示了序列化的$ disp,并设置换行符(
)。

此外,$ disp被反序列化并显示。

print_r用于显示数组的内容。

结果为

a:3:{i:0;s:8:"student1";i:1;s:8:"student2";i:2;s:8:"student3";}
Array ( [0] => student1 [1] => student2 [2] => student3 )1
登录后复制

第一行是序列化的结果,第二行是反序列化的结果。

反序列化整数

<?php
$test = 50;
$disp = serialize($test);
echo $disp;
echo "
"; echo unserialize($disp);
登录后复制

结果为

i:50;
50
登录后复制

反序列化字符串

<?php
$test = 'student';
$disp = serialize($test);
echo $disp;
echo "
"; echo unserialize($disp);
登录后复制

结果为

s:7:"student";
student
登录后复制

恢复序列化数据很容易。

以上就是php序列化的用法总结(代码示例)的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号