<转>PHP SPL标准库之数据结构对象容器(SplObjectStorage)

PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候。

PHP SPL SplObjectStorage类实现了Countable,Iterator,Serializable,ArrayAccess四个接口。可实现统计、迭代、序列化、数组式访问等功能。

PHP SPL SplObjectStorage类看下面一个简单的例子:

 

  1. class A {
  2. public $i;
  3. public function __construct($i) {
  4. $this->i = $i;
  5. }
  6. }
  7.  
  8. $a1 = new A(1);
  9. $a2 = new A(2);
  10. $a3 = new A(3);
  11. $a4 = new A(4);
  12.  
  13. $container = new SplObjectStorage();
  14.  
  15. //SplObjectStorage::attach 添加对象到Storage中
  16. $container->attach($a1);
  17. $container->attach($a2);
  18. $container->attach($a3);
  19.  
  20. //SplObjectStorage::detach 将对象从Storage中移除
  21. $container->detach($a2);
  22.  
  23. //SplObjectStorage::contains用于检查对象是否存在Storage中
  24. var_dump($container->contains($a1)); //true
  25. var_dump($container->contains($a4)); //false
  26.  
  27. //遍历
  28. $container->rewind();
  29. while($container->valid()) {
  30. var_dump($container->current());
  31. $container->next();
  32. }

转载请注明地址: http://www.phpddt.com/php/SplObjectStorage.html 尊重他人劳动成果就是尊重自己!

posted on 2015-10-18 22:24  hahahahahai12  阅读(420)  评论(0)    收藏  举报

导航