Home >php教程 >php手册 >PHP SplObjectStorage使用实例

PHP SplObjectStorage使用实例

WBOY
WBOYOriginal
2016-06-13 09:04:23889browse

PHP SplObjectStorage使用实例

   这篇文章主要介绍了PHP SplObjectStorage使用实例,SplObjectStorage是SPL标准库中的数据结构对象容器,用来存储一组对象,特别是当你需要唯一标识对象的时候,需要的朋友可以参考下

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

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

  看下面一个简单的例子:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

class A {

public $i;

public function __construct($i) {

$this->i = $i;

}

}

 

$a1 = new A(1);

$a2 = new A(2);

$a3 = new A(3);

$a4 = new A(4);

 

$container = new SplObjectStorage();

 

//SplObjectStorage::attach 添加对象到Storage中

$container->attach($a1);

$container->attach($a2);

$container->attach($a3);

 

//SplObjectStorage::detach 将对象从Storage中移除

$container->detach($a2);

 

//SplObjectStorage::contains用于检查对象是否存在Storage中

var_dump($container->contains($a1)); //true

var_dump($container->contains($a4)); //false

 

//遍历

$container->rewind();

while($container->valid()) {

var_dump($container->current());

$container->next();

}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn