PHP 5 provides a way for objects to be defined so it is possible to iterate
through a list of items, with, for example a foreach statement. By default,
all visible properties will be used
for the iteration.
Example 19-20. Simple Object Iteration
<?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3';
MyClass::iterateVisible: var1 => value 1 var2 => value 2 var3 => value 3 protected => protected var private => private var
As the output shows, the foreach iterated through all
visible variables that can be
accessed. To take it a step further you can implement one
of PHP 5's internal interface named
Iterator. This allows the object to decide what and how
the object will be iterated.
Example 19-21. Object Iteration implementing Iterator
<?php class MyIterator implements Iterator { private $var = array();
public function __construct($array) { if (is_array($array)) { $this->var = $array; } }
public function rewind() { echo "rewinding\n"; reset($this->var); }
public function current() { $var = current($this->var); echo "current: $var\n"; return $var; }
public function key() { $var = key($this->var); echo "key: $var\n"; return $var; }
public function next() { $var = next($this->var); echo "next: $var\n"; return $var; }
public function valid() { $var = $this->current() !== false; echo "valid: {$var}\n"; return $var; } }
$values = array(1,2,3); $it = new MyIterator($values);
You can also define your class so that it doesn't have to define
all the Iterator functions by simply implementing
the PHP 5 IteratorAggregate interface.
Example 19-22. Object Iteration implementing IteratorAggregate
rewinding current: value 1 valid: 1 current: value 1 key: 0 key/value: [0 -> value 1]
next: value 2 current: value 2 valid: 1 current: value 2 key: 1 key/value: [1 -> value 2]
next: value 3 current: value 3 valid: 1 current: value 3 key: 2 key/value: [2 -> value 3]
next: current: valid:
Note:
For more examples of iterators, see the
SPL Extension.
Php language.oop5.iterations Function syntax tag
language.oop5.iterations php code on this is provided for your study purpose, it will guide you to know how create and design a website using php. use it to practice and train your self online
Php language.oop5.iterations syntax tutorial
php tutorial guide and code design are for easy learning and programming. The code practice section provided at the top is for practising of this syntax. Use the code section up to practice your php programming online. Learning php is very easy, all you need is to use the examples on this site and practice them to perfect your skills.