Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

seekableiterator(3) [php man page]

SEEKABLEITERATOR(3)							 1						       SEEKABLEITERATOR(3)

The SeekableIterator interface

INTRODUCTION
The Seekable iterator. INTERFACE SYNOPSIS
SeekableIterator SeekableIteratorextends Iterator Methods o abstractpublic void SeekableIterator::seek (int $position) Inherited methods o abstractpublic mixed Iterator::current (void ) o abstractpublic scalar Iterator::key (void ) o abstractpublic void Iterator::next (void ) o abstractpublic void Iterator::rewind (void ) o abstractpublic boolean Iterator::valid (void ) Example #1 Basic usage This example demonstrates creating a custom SeekableIterator, seeking to a position and handling an invalid position. <?php class MySeekableIterator implements SeekableIterator { private $position; private $array = array( "first element", "second element", "third element", "fourth element" ); /* Method required for SeekableIterator interface */ public function seek($position) { if (!isset($this->array[$position])) { throw new OutOfBoundsException("invalid seek position ($position)"); } $this->position = $position; } /* Methods required for Iterator interface */ public function rewind() { $this->position = 0; } public function current() { return $this->array[$this->position]; } public function key() { return $this->position; } public function next() { ++$this->position; } public function valid() { return isset($this->array[$this->position]); } } try { $it = new MySeekableIterator; echo $it->current(), " "; $it->seek(2); echo $it->current(), " "; $it->seek(1); echo $it->current(), " "; $it->seek(10); } catch (OutOfBoundsException $e) { echo $e->getMessage(); } ?> The above example will output something similar to: first element third element second element invalid seek position(10) PHP Documentation Group SEEKABLEITERATOR(3)

Check Out this Related Man Page

ARRAYACCESS(3)								 1							    ARRAYACCESS(3)

The ArrayAccess interface

INTRODUCTION
Interface to provide accessing objects as arrays. INTERFACE SYNOPSIS
ArrayAccess ArrayAccess Methods o abstractpublic boolean ArrayAccess::offsetExists (mixed $offset) o abstractpublic mixed ArrayAccess::offsetGet (mixed $offset) o abstractpublic void ArrayAccess::offsetSet (mixed $offset, mixed $value) o abstractpublic void ArrayAccess::offsetUnset (mixed $offset) Example #1 Basic usage <?php class obj implements ArrayAccess { private $container = array(); public function __construct() { $this->container = array( "one" => 1, "two" => 2, "three" => 3, ); } public function offsetSet($offset, $value) { if (is_null($offset)) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } public function offsetExists($offset) { return isset($this->container[$offset]); } public function offsetUnset($offset) { unset($this->container[$offset]); } public function offsetGet($offset) { return isset($this->container[$offset]) ? $this->container[$offset] : null; } } $obj = new obj; var_dump(isset($obj["two"])); var_dump($obj["two"]); unset($obj["two"]); var_dump(isset($obj["two"])); $obj["two"] = "A value"; var_dump($obj["two"]); $obj[] = 'Append 1'; $obj[] = 'Append 2'; $obj[] = 'Append 3'; print_r($obj); ?> The above example will output something similar to: bool(true) int(2) bool(false) string(7) "A value" obj Object ( [container:obj:private] => Array ( [one] => 1 [three] => 3 [two] => A value [0] => Append 1 [1] => Append 2 [2] => Append 3 ) ) PHP Documentation Group ARRAYACCESS(3)
Man Page