Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

iterator(3) [php man page]

ITERATOR(3)								 1							       ITERATOR(3)

The Iterator interface

INTRODUCTION
Interface for external iterators or objects that can be iterated themselves internally. INTERFACE SYNOPSIS
Iterator Iteratorextends Traversable 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 ) PREDEFINED ITERATORS
PHP already provides a number of iterators for many day to day tasks. See SPL iterators for a list. EXAMPLES
Example #1 Basic usage This example demonstrates in which order methods are called when using foreach with an iterator. <?php class myIterator implements Iterator { private $position = 0; private $array = array( "firstelement", "secondelement", "lastelement", ); public function __construct() { $this->position = 0; } function rewind() { var_dump(__METHOD__); $this->position = 0; } function current() { var_dump(__METHOD__); return $this->array[$this->position]; } function key() { var_dump(__METHOD__); return $this->position; } function next() { var_dump(__METHOD__); ++$this->position; } function valid() { var_dump(__METHOD__); return isset($this->array[$this->position]); } } $it = new myIterator; foreach($it as $key => $value) { var_dump($key, $value); echo " "; } ?> The above example will output something similar to: string(18) "myIterator::rewind" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(0) string(12) "firstelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(1) string(13) "secondelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(2) string(11) "lastelement" string(16) "myIterator::next" string(17) "myIterator::valid" PHP Documentation Group ITERATOR(3)

Check Out this Related Man Page

MONGOCOMMANDCURSOR.REWIND(3)						 1					      MONGOCOMMANDCURSOR.REWIND(3)

MongoCommandCursor::rewind - Executes the command and resets the cursor to the start of the result set

SYNOPSIS
public array MongoCommandCursor::rewind (void ) DESCRIPTION
If the cursor has already started iteration, the command will be re-executed. PARAMETERS
This function has no parameters. RETURN VALUES
The raw server result document. ERRORS
/EXCEPTIONS Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded. Throws MongoCursorException if the cursor was created with MongoCommandCursor.createFromDocument(3) and has already started iteration. Such cursors cannot be iterated multiple times, as they lack the original command necessary for re-execution. EXAMPLES
Example #1 MongoCommandCursor.rewind(3) <?php $rawResult = $commandCursor->rewind(); // Command cursor is now reset to the start of the result set var_dump($rawResult); ?> The above example will output something similar to: array(2) { ["cursor"]=> array(3) { ["id"]=> object(MongoInt64)#5(1) { ["value"]=> string(12) "310050110216" } ["ns"]=> string(9) "demo.test" ["firstBatch"]=> array(1) { [0]=> array(2) { ["_id"]=> object(MongoId)#6(1) { ["$id"]=> string(24) "52f5691544670a8077b0dc51" } ["value"]=> string(2) "42" } } } ["ok"]=> float(1) } SEE ALSO
Iterator::rewind. PHP Documentation Group MONGOCOMMANDCURSOR.REWIND(3)
Man Page