[技術分享] php設計模式-迭代器模式

 作者:新投云  發布于:2017-07-07  瀏覽數:

迭代器模式概念

在不需要了解內部實現的前提下,遍歷一個聚合對象的內部元素而又不暴露該對象的內部表示。

適用場景

訪問一個聚合對象的內容而無需暴露它的內部表示
支持對聚合對象的多種遍歷

為遍歷不同的聚合結構提供一個統一的接口

迭代器模式實例

<?php
class ConcreteIterator implements Iterator{
	private $position = 0;
	private $arr;
	function __construct(array $arr){
		$this->arr = $arr;
	}

	function rewind(){
		$this->position = 0;
	}

	function current(){
		return $this->arr[$this->position];
	}

	function key(){
		return $this->position;
	}

	function next(){
		++$this->position;
	}

	function valid(){
		return isset($this->arr[$this->position]);
	}
}

$arr = array('xiao hong','xiao ming','xiaohua');
$concreteIterator = new ConcreteIterator($arr);
foreach ($concreteIterator as $key => $value) {
	echo $key."=>".$value."\n";
}

相關文章

三期必中一期平特肖