1. 云栖社区>
  2. PHP教程>
  3. 正文

php迭代器

作者:用户 来源:互联网 时间:2017-12-01 13:00:54

迭代

php迭代器 - 摘要: 本文讲的是php迭代器, implements Iterator , 实现Iterator 的 current(); next(); key(); valid(); rewind(); 1 <?php 2 /* 3 *先定义一个数组 4 *定义第一个位

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 "<br>";71 } 

 

执行结果:

php迭代器

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索迭代 ,以便于您获取更多的相关知识。