PHP序列化和反序列化详解

小云云
发布: 2018-03-31 09:56:24
原创
3183人浏览过

所谓序列化,就是将一个变量的数据转换为字符串(但是与类型转换不同)。其目的是将该字符串存储起来(存为文本文件),当在其他环境上运行时,可以通过反序列化,将其回复。(一般用在数据需要存储的地方)

序列化:

    $str=serialize($变量)//将数据转换为字符串,并存入变量$str。

    file_put_conetents("文本文件路径",$str);//将文件存在文本文件中。

反序列化:

    $str=file_get_contents("文本文件路径");//取得文件中存储的序列化的信息。

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

    $value=unserialize($str);//将取出的字符串内容转换为正常的数据存入$value 中。

序列化和反序列化时的魔术方法:

    __sleep():在对某个类的对象进行序列化的时候,会自动调用该类中的__sleep()方法;

                        使用该方法可以对需要进行序列化的数据进行选着,挑选出需要的属性,存入数组,该数组会在结束后返回,数组里的值就是要序列化的东西。

    __wakeup():与__sleep()正好相反,在反序列化的时候调用,可以进行一些有用的操作,以使得状态回到序列化之前的状态(如数据库连接)。因为序列化只是将需要的属性变为字符串存储起来,反序列化也只是将字符串变回数据,但是一些状态并没有返回到之前的状态,此时就可以通过__wakeup()来进行操作,回到与之前完全相同的状态。

相关推荐:

PHP序列化和反序列化原理详解

应用PHP序列化数组技巧_PHP教程

详解PHP序列化反序列化的方法,详解php序列化反_PHP教程

以上就是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号