php迭代器

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

implements Iterator , 实现Iterator 的 current(); next(); key(); valid(); rewind();

1<?php2/*3*先定义一个数组4*定义第一个位置 $position = 05*然后返回key 和value,6*指向下一个位置 ++$position7*/8classmyIteratorimplementsIterator{9//先定义一个位置10PRivate$position= 0;11private$array;1213publicfunction__construct(array$array){14$this->array=$array;15}16/**17* 倒带第一个元素的迭代器18* @return void 任何返回值将被忽略.19*/20publicfunctionrewind(){21var_dump(__METHOD__);22$this->position = 0;23}24/**25* 检查当前位置是有效的26* @return boolean 返回值将bool型布尔,然后评估27*/28publicfunctionvalid(){29var_dump(__METHOD__);30//判断数组第一个元素是否存在31returnisset($this->array[$this->position]);32}33/**34* 返回当前元素35* @return mixed 可以返回任何类型。36*/37publicfunctioncurrent(){38var_dump(__METHOD__);39//返回数组的第一个元素40return$this->array[$this->position];41}42/**43* 返回当前元素的关键44* @return mixed 标量成功,或null失败45*/46publicfunctionkey(){47var_dump(__METHOD__);48//返回数组第一个元素的key49return$this->position;50}51/**52* 前进到下一个元素53* @return void 任何返回值将被忽略。54*/55publicfunctionnext(){56var_dump(__METHOD__);57++$this->position;58}59}6061$array=[62"firstelement",63"secondeleent",64"lastelement"65];6667$it=newmyIterator($array);68foreach($itas$key=>$value) {69echo$key.' => '.$value;70echo"<br>";71}

执行结果:

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航