SplObjectStorage::attach

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::attachAdds an object in the storage

说明

public void SplObjectStorage::attach ( object $object [, mixed $data = NULL ] )

Adds an object inside the storage, and optionally associate it to some data.

参数

object

The object to add.

data

The data to associate with the object.

返回值

没有返回值。

范例

Example #1 SplObjectStorage::attach() example

<?php
$o1 
= new StdClass;
$o2 = new StdClass;
$s = new SplObjectStorage();
$s->attach($o1); // similar to $s[$o1] = NULL;
$s->attach($o2"hello"); // similar to $s[$o2] = "hello";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

以上例程的输出类似于:

NULL
string(5) "hello"

更新日志

版本 说明
5.3.0 Added the data parameter.

参见

User Contributed Notes

rafal dot wrzeszcz at wrzasq dot pl 22-May-2013 07:29
Better way (imho) is to call:

$storage->removeAll($storage);

Especially, that sometimes (had no time to investigate) removeAllExcept(new SplObjectStorage()) leaves some elements.