ArrayObject::unserialize()
方法用于从字符串中反序列化数组对象。
用法:
public void ArrayObject::unserialize ( string $serialized )
参数:
$serialized
:必需。要反序列化的字符串。
返回值: 该方法没有返回值。
示例:
// 创建数组对象
$arrayObj = new ArrayObject(array('apple', 'banana', 'cherry'));
// 将数组对象序列化为字符串
$serializedStr = serialize($arrayObj);
// 打印序列化后的字符串
echo "Serialized String: " . $serializedStr . "<br>";
// 反序列化字符串为数组对象
$unserializedObj = new ArrayObject();
$unserializedObj->unserialize($serializedStr);
// 打印反序列化后的数组对象
echo "Unserialized Array Object: ";
var_dump($unserializedObj);
输出:
Serialized String: O:11:"ArrayObject":3:{s:6:"storage";a:3:{i:0;s:5:"apple";i:1;s:6:"banana";i:2;s:6:"cherry";}s:6:"flags";i:0;s:9:"iteratorClass";N;}
Unserialized Array Object: object(ArrayObject)#2 (1) {
["storage":"ArrayObject":private]=>
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
[2]=>
string(6) "cherry"
}
}
这个示例中,我们首先创建了一个数组对象 $arrayObj
,其中包含三个元素。然后,我们使用 serialize()
函数将数组对象序列化为一个字符串,保存到 $serializedStr
变量中,并打印该字符串。
接下来,我们通过创建一个新的空数组对象 $unserializedObj
,使用 $unserializedObj->unserialize($serializedStr)
方法将序列化的字符串反序列化为数组对象。最后,我们使用 var_dump()
函数打印反序列化后的数组对象。
注意:serialize()
函数用于将对象转换为可存储或传输的字符串表示,unserialize()
方法用于将序列化的字符串还原为原始的对象或数组形式。