splObjectStroge的作用,实例化一个数组

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

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

看下面一个简单的例子:

  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. }
原文地址:https://www.cnblogs.com/yuqiandoudou/p/4684593.html