php序列化和反序列化怎么操作?优缺点是什么?
Admin 2021-05-31 群英技术资讯 647 次浏览
php序列化和反序列化怎么操作?优缺点是什么?一些朋友对于php序列化和反序列化不是很了解,对此这篇文章就给大家介绍一下关于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 的值,同时不丢失其类型和结构。
以上就是关于php序列化和反序列化的相关介绍,现在大家对于序列化和反序列化的作用和优缺点应该都有所了解了,希望本文能对大家有帮助。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
thinkphp默认使用的是内置模板引擎,是一个自主创新的XML编译性模板引擎;内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用,视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。
今天使用json_encode转换数组的时候,出现了中文不显示的情况。在网上找到一种解决方法:<?php/*处理json_encode中文乱码*/$data=array('game'=>'冰火国度','name'=>'刺之灵','country'=>'冰霜国','level'=>45);echojson_encode(
php中yaf框架:1、Yaf是一个C语言编写的PHP框架,以php扩展的形式;2、用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销;3、所有的框架类, 不需要编译, 在PHP启动的时候加载,并常驻内存。
swoole如果想要在开机启动时,自动运行你的swoole Server,可以在/etc/rc.local文件中加入/usr/bin/php /data/webroot/www.swoole.com/server.php。
本文实例讲述了PHP实现的敏感词过滤方法。下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008