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

SPLFIXEDARRAY(3)							 1							  SPLFIXEDARRAY(3)

The SplFixedArray class

INTRODUCTION
The SplFixedArray class provides the main functionalities of array. The main differences between a SplFixedArray and a normal PHP array is that the SplFixedArray is of fixed length and allows only integers within the range as indexes. The advantage is that it allows a faster array implementation. CLASS SYNOPSIS
SplFixedArray SplFixedArrayIteratorArrayAccessCountable Methods o public SplFixedArray::__construct ([int $size]) o public int SplFixedArray::count (void ) o public mixed SplFixedArray::current (void ) o publicstatic SplFixedArray SplFixedArray::fromArray (array $array, [bool $save_indexes = true]) o public int SplFixedArray::getSize (void ) o public int SplFixedArray::key (void ) o public void SplFixedArray::next (void ) o public bool SplFixedArray::offsetExists (int $index) o public mixed SplFixedArray::offsetGet (int $index) o public void SplFixedArray::offsetSet (int $index, mixed $newval) o public void SplFixedArray::offsetUnset (int $index) o public void SplFixedArray::rewind (void ) o public int SplFixedArray::setSize (int $size) o public array SplFixedArray::toArray (void ) o public bool SplFixedArray::valid (void ) o public void SplFixedArray::__wakeup (void ) EXAMPLES
Example #1 SplFixedArray usage example <?php // Initialize the array with a fixed length $array = new SplFixedArray(5); $array[1] = 2; $array[4] = "foo"; var_dump($array[0]); // NULL var_dump($array[1]); // int(2) var_dump($array["4"]); // string(3) "foo" // Increase the size of the array to 10 $array->setSize(10); $array[9] = "asdf"; // Shrink the array to a size of 2 $array->setSize(2); // The following lines throw a RuntimeException: Index invalid or out of range try { var_dump($array["non-numeric"]); } catch(RuntimeException $re) { echo "RuntimeException: ".$re->getMessage()." "; } try { var_dump($array[-1]); } catch(RuntimeException $re) { echo "RuntimeException: ".$re->getMessage()." "; } try { var_dump($array[5]); } catch(RuntimeException $re) { echo "RuntimeException: ".$re->getMessage()." "; } ?> The above example will output: NULL int(2) string(3) "foo" RuntimeException: Index invalid or out of range RuntimeException: Index invalid or out of range RuntimeException: Index invalid or out of range PHP Documentation Group SPLFIXEDARRAY(3)
Man Page