站长资讯网
最全最丰富的资讯网站

php如何反序列化数组和对象

上一篇文章我们了解了序列化对象或数组的方法,有需要的请看《php如何序列化数组和对象》。这次我们向大家介绍反序列化对象或数组的方法,有需要的可以参考参考。

我们开始本篇文章之前,我们先了解一下什么是反序列化。

反序列化就是把字节流(二进制串)恢复为数组和对象的过程。

我们了解了反序列化的含义之后,我们就很容易明白这篇文章需要干什么了。我们需要将上一篇已经序列化的对象和数组还原回来。

先来看一个小例子,就是将上篇序列化的数组给还原回来。

上篇文章的例子是

<?php     $sites = array('Google', '360', 'Facebook');     $serialized_data = serialize($sites);     echo  $serialized_data . PHP_EOL;   ?>

结果是

php如何反序列化数组和对象

那我们就将这个字节流还原成数组。

<?php $str = 'a:3:{i:0;s:6:"Google";i:1;s:3:"360";i:2;s:8:"Facebook";}'; $unserialized_data = unserialize($str); print_r($unserialized_data); ?>

还原的结果是

php如何反序列化数组和对象

好啦,我们这就将结果还原啦。我们细细解读一下,这么长的一串字符经过一个函数,就变成的一个数组。虽然我们不知道这一长串经过了什么?它是如何从一长串数字与字母的组合变成我们熟悉的数组的。

但是我们可以去学习一下这个函数啊。

unserialize() 函数用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构。

那我们来看一下这个函数的语法结构吧。

mixed unserialize (需要进行反序列化操作的字符串)

需要注意的是这个函数的返回值,我们好好来看一下。

这个函数返回的是转换之后的值,可为integerfloatstringarrayobject。如果传递的字符串不可解序列化,则返回FALSE,并产生一个E_NOTICE

就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号