PHP迭代器:
可幫助構造特定的對象,那些對象能夠提供單一標准接口循環或迭代任何類型的可計數數據。(不是特別常用,在PHP中)
使用場景:
1.訪問一個聚合對象的內容而無需暴露它的內部表示。
2.支持對聚合對象的多種遍歷。
3.為遍歷不同的聚合結構提供一個統一的接口(即,多態迭代)。
PHP代碼實現:
[php]
<?php
//迭代器:可幫助構造特定的對象,那些對象能夠提供單一標准接口循環或迭代任何類型的可計數數據
class MyIterator implements Iterator {
private $var = array();
public function __construct($array) {
$this->var = $array;
}
public function rewind() {
reset($this->var);
}
public function current() {
$var = current($this->var);
return $var;
}
public function valid() {
$var = $this->current() !== false;
return $var;
}
public function next() {
$var = next($this->var);
return $var;
}
public function key() {
$var = key($this->var);
return $var;
}
}
$values = array('a', 'b', 'c');
$it = new MyIterator($values);
foreach ($it as $a => $b) {
print "$a: $b<br>";
}
?>