转换方法:1、用“unserialize($str)”还原序列化数据;2、用json_encode()和json_decode()将还原后的数据转为数组类型,语法“json_decode(json_encode(还原数据),TRUE)”。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
我们在开发的过程中有时会遇到需要把对象或者数组进行序列化存储,反序列化输出的情况。特别是当需要把数组存储到 MysqL 数据库中时,就需要将数组进行序列化操作。
所有 PHP 里面的值都可以使用 serialize() 函数将其转换为一个可以存储的字符串,也就是序列化。
而想要还原序列化数据,可以使用unserialize() 函数;该函数能够重新把字符串变回 PHP 原来的值,也就是反序列化。
1、使用unserialize() 函数还原序列化数据
unserialize($str)
其中,$str 为使用 serialize() 函数序列化后的字符串。如果传入的字符串不可被反序列化,则会返回 FALSE,并产生一个 E_NOTICE。
2、将还原后的数据转为数组类型
使用json_encode函数将对象转换为json数据,再使用json_decode函数将json数据转换为数组。
<?PHP $obj=serialize((object)array(11,22,33)); var_dump($obj); $res=unserialize($obj); $arr=json_decode(json_encode($res),TRUE); var_dump($arr); ?>
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。