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

PHP SplObjectStorage使用实例

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

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();

}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn