php迭代器,php代器
implements Iterator , 實現Iterator 的 current(); next(); key(); valid(); rewind();
1 php 2 /* 3 *先定義一個數組 4 *定義第一個位置 $position = 0 5 *然後返回key 和value, 6 *指向下一個位置 ++$position 7 */ 8 class myIterator implements Iterator{ 9 //先定義一個位置10 private $position = 0;11 private $array;12 13 public function __construct(array $array){14 $this->array = $array;15 }16 /**17 * 倒帶第一個元素的迭代器18 * @return void 任何傳回值將被忽略.19 */20 public function rewind(){21 var_dump(__METHOD__);22 $this->position = 0;23 }24 /**25 * 檢查當前位置是有效26 * @return boolean 傳回值將bool型布爾,然後評估27 */28 public function valid(){29 var_dump(__METHOD__);30 //判斷數組第一個元素是否存在31 return isset($this->array[$this->position]);32 }33 /**34 * 返回當前元素35 * @return mixed 可以返回任何類型。36 */37 public function current(){38 var_dump(__METHOD__);39 //返回數組的第一個元素40 return $this->array[$this->position];41 }42 /**43 * 返回當前元素的關鍵44 * @return mixed 標量成功,或null失敗45 */46 public function key(){47 var_dump(__METHOD__);48 //返回數組第一個元素的key49 return $this->position;50 }51 /**52 * 前進到下一個元素53 * @return void 任何傳回值將被忽略。54 */55 public function next(){56 var_dump(__METHOD__);57 ++ $this->position;58 }59 }60 61 $array=[62 "firstelement",63 "secondeleent",64 "lastelement"65 ];66 67 $it = new myIterator($array);68 foreach ($it as $key=>$value) {69 echo $key.' => '.$value;70 echo "
";71 }
執行結果:
http://www.bkjia.com/PHPjc/1072323.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1072323.htmlTechArticlephp迭代器,php代器 implements Iterator , 實現Iterator 的current();next(); key(); valid();rewind(); 1 ? php 2 /* 3 *先定義一個數組 4 *定義第一個位置 $position...