首页 >后端开发 >PHP问题 >php怎么将序列化数据转为数组

php怎么将序列化数据转为数组

青灯夜游
青灯夜游原创
2022-05-26 18:30:131948浏览

转换方法:1、用“unserialize($str)”还原序列化数据;2、用json_encode()和json_decode()将还原后的数据转为数组类型,语法“json_decode(json_encode(还原数据),TRUE)”。

php怎么将序列化数据转为数组

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

我们在开发的过程中有时会遇到需要把对象或者数组进行序列化存储,反序列化输出的情况。特别是当需要把数组存储到 MySQL 数据库中时,就需要将数组进行序列化操作。

所有 PHP 里面的值都可以使用 serialize() 函数将其转换为一个可以存储的字符串,也就是序列化。

而想要还原序列化数据,可以使用unserialize() 函数;该函数能够重新把字符串变回 PHP 原来的值,也就是反序列化。

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怎么将序列化数据转为数组

推荐学习:《PHP视频教程

以上是php怎么将序列化数据转为数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn