PHP常见的序列化与反序列化操作实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2022-01-18 22:08:26 浏览: 评论:0
这篇文章主要介绍了PHP常见的序列化与反序列化操作,结合实例形式分析了php使用serialize()及unserialize()进行序列化与反序列化相关操作技巧及注意事项,需要的朋友可以参考下。
本文实例讲述了PHP常见的序列化与反序列化操作,分享给大家供大家参考,具体如下:
1.概念
serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
2.序列化例子
输入输出
- $arr=array();
- $arr['name']='张三';
- $arr['age']='22';
- $arr['sex']='男';
- $arr['phone']='123456789';
- $arr['address']='上海市浦东新区';
- var_dump($arr);
- array(5) {
- ["name"]=> string(6) "张三"
- ["age"]=> string(2) "22"
- ["sex"]=> string(3) "男"
- ["phone"]=> string(9) "123456789"
- ["address"]=> string(21) "上海市浦东新区"
- }
序列化操作
$info=serialize($arr);
var_dump($info);
输出结果
string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}"
解析
使用序列化serialize($arr)函数,将数组中元素的键和值按照规则顺序连接成字符串。
a:5标志序列化为array包含5个键值对,
s:4标志内容为字符串包含4个字符。
3.反序列化列子
$zhangsan=unserialize($info);
var_dump($zhangsan);
输出:
- array(5) {
- ["name"]=> string(6) "张三"
- ["age"]=> string(2) "22"
- ["sex"]=> string(3) "男"
- ["phone"]=> string(9) "123456789"
- ["address"]=> string(21) "北京市海淀区"
- }
4.优缺点
通过序列化我们可以将一些模块化的数据使用字符串的形式存储在数据库或session等,可以减少创建众多繁琐的数据表字段,当然序列化为字符串存储会增加额外的空间,应合理的设计和应用。
这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
Tags: PHP序列化 PHP反序列化
- 上一篇:PHP接入微信H5支付的方法示例
- 下一篇:最后一页
相关文章
- ·php中序列化与反序列化在utf8和gbk编码中测试(2015-04-11)
- ·PHP序列化/对象注入漏洞分析(2019-08-22)
- ·PHP如何序列化数据?(2020-01-10)
- ·PHP自定义序列化接口Serializable用法分析(2021-08-25)
- ·详解PHP序列化和反序列化原理(2021-08-30)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)