SplObjectStorage是SPL标准库中的数据结构对象容器,用来存储一组对象,特别是当你需要唯一标识对象的时候,需要的朋友可以参考下:
PHP SPL SplObjectStorage类实现了Countable,Iterator,Serializable,ArrayAccess四个接口。可实现统计、迭代、序列化、数组式访问等功能。
看下面一个简单的例子:
1 i = $i; 6 } 7 } 8 9 $a1 = new A(1);10 $a2 = new A(2);11 $a3 = new A(3);12 $a4 = new A(4);13 14 $container = new SplObjectStorage();15 16 //SplObjectStorage::attach 添加对象到Storage中17 $container->attach($a1);18 $container->attach($a2);19 $container->attach($a3);20 21 //SplObjectStorage::detach 将对象从Storage中移除22 $container->detach($a2);23 24 //SplObjectStorage::contains用于检查对象是否存在Storage中25 var_dump($container->contains($a1)); //true26 var_dump($container->contains($a4)); //false27 28 //遍历29 $container->rewind();30 while($container->valid()) {31 var_dump($container->current());32 $container->next();33 }