📅  最后修改于: 2023-12-03 14:45:19.209000             🧑  作者: Mango
SplObjectStorage 是一个用于存储对象的容器类,这个类实现了对储存的对象进行迭代和检索的能力。unserialize()函数可以从一个已经序列化的对象字符串中反序列化出一个 SplObjectStorage 对象。
public void SplObjectStorage::unserialize ( string $serialized )
serialized
: 序列化前 SplObjectStorage 对象的字符串表示形式。
下面是一个示例创建一个 SplObjectStorage 对象并序列化它,然后使用 unserialize() 反序列化出一个新的 SplObjectStorage 对象。
// 创建并填充 SplObjectStorage 对象
$storage = new SplObjectStorage();
$obj1 = new stdClass();
$obj2 = new stdClass();
$obj3 = new stdClass();
$storage->attach($obj1);
$storage->attach($obj2);
$storage->attach($obj3);
// 序列化 SplObjectStorage 对象
$serialized = serialize($storage);
// 反序列化 SplObjectStorage 对象
$unserialized = unserialize($serialized);
// 遍历反序列化后的 SplObjectStorage 对象
foreach ($unserialized as $obj) {
echo get_class($obj) . "\n";
}
以上代码输出:
stdClass
stdClass
stdClass