Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

weakmap(3) [php man page]

WEAKMAP(3)								 1								WEAKMAP(3)

The WeakMap class

INTRODUCTION
CLASS SYNOPSIS
WeakMap WeakMapCountableArrayAccessIterator Methods o public WeakMap::__construct (void ) o public int WeakMap::count (void ) o public mixed WeakMap::current (void ) o public object WeakMap::key (void ) o public void WeakMap::next (void ) o public bool WeakMap::offsetExists (object $object) o public mixed WeakMap::offsetGet (object $object) o public void WeakMap::offsetSet (object $object, mixed $value) o public void WeakMap::offsetUnset (object $object) o public void WeakMap::rewind (void ) o public bool WeakMap::valid (void ) EXAMPLES
Example #1 Weakmap usage example <?php $wm = new WeakMap(); $o = new StdClass; class A { public function __destruct() { echo "Dead! "; } } $wm[$o] = new A; var_dump(count($wm)); echo "Unsetting.. "; unset($o); echo "Done "; var_dump(count($wm)); The above example will output: int(1) Unsetting.. Dead! Done int(0) PHP Documentation Group WEAKMAP(3)

Check Out this Related Man Page

SPLOBJECTSTORAGE(3)							 1						       SPLOBJECTSTORAGE(3)

The SplObjectStorage class

INTRODUCTION
The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects. CLASS SYNOPSIS
SplObjectStorage SplObjectStorageCountableIteratorSerializableArrayAccess Methods o public void SplObjectStorage::addAll (SplObjectStorage $storage) o public void SplObjectStorage::attach NULL (object $object, [mixed $data]) o public bool SplObjectStorage::contains (object $object) o public int SplObjectStorage::count (void ) o public object SplObjectStorage::current (void ) o public void SplObjectStorage::detach (object $object) o public string SplObjectStorage::getHash (object $object) o public mixed SplObjectStorage::getInfo (void ) o public int SplObjectStorage::key (void ) o public void SplObjectStorage::next (void ) o public bool SplObjectStorage::offsetExists (object $object) o public mixed SplObjectStorage::offsetGet (object $object) o public void SplObjectStorage::offsetSet NULL (object $object, [mixed $data]) o public void SplObjectStorage::offsetUnset (object $object) o public void SplObjectStorage::removeAll (SplObjectStorage $storage) o public void SplObjectStorage::removeAllExcept (SplObjectStorage $storage) o public void SplObjectStorage::rewind (void ) o public string SplObjectStorage::serialize (void ) o public void SplObjectStorage::setInfo (mixed $data) o public void SplObjectStorage::unserialize (string $serialized) o public bool SplObjectStorage::valid (void ) EXAMPLES
Example #1 SplObjectStorage as a set <?php // As an object set $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s->attach($o1); $s->attach($o2); var_dump($s->contains($o1)); var_dump($s->contains($o2)); var_dump($s->contains($o3)); $s->detach($o2); var_dump($s->contains($o1)); var_dump($s->contains($o2)); var_dump($s->contains($o3)); ?> The above example will output: bool(true) bool(true) bool(false) bool(true) bool(false) bool(false) Example #2 SplObjectStorage as a map <?php // As a map from objects to data $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s[$o1] = "data for object 1"; $s[$o2] = array(1,2,3); if (isset($s[$o2])) { var_dump($s[$o2]); } ?> The above example will output: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } PHP Documentation Group SPLOBJECTSTORAGE(3)
Man Page